更改自定义 post 类型 url
Change custom post type url
我有一个自定义 post 按名称 'Portfolio' 键入。当我制作任何 post 时,它会生成 url 作为 /portfolio/xxx。我想将其更改为 'Products'。
Change custom post-type rewrite
我已经试过了,但应该行不通。
请参阅 URLs of Namespaced Custom Post Types Identifiers. One of the options available to you is to add a 'rewrite'
argument to register_post_type() 上的文档。来自文档:
When you namespace a custom post type identifier and still want to use a clean URL structure, you need to set the rewrite argument of the register_post_type() function. For example:
add_action( 'init', 'create_posttype' );
function create_posttype() {
register_post_type( 'acme_product',
array(
'labels' => array(
'name' => __( 'Portfolio' ),
'singular_name' => __( 'Portfolio' )
),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'products'),
)
);
}
然后您可能需要登录管理员并重新保存您的永久链接。
使用重写属性
$args= array(
// other settings
'rewrite' => array( 'slug' => 'Products' ),
);
register_post_type( 'portfolio', $args);
我假设您已经添加了自定义 post 类型,在这种情况下很容易。
当您注册一个新的 post 类型时,您可以为该 post 类型设置任何重写规则,作为 register_post_type( 'name', $args )
函数中使用的参数的一部分。
如果您的 post 类型在前端可用并且是 public,则默认情况下 WordPress 将使用自定义 post 名称作为 slug。您可以按如下方式覆盖它:
$args = array(
// your other arguments
'rewrite' => array(
'slug' => 'products', // use this slug instead of post type name
'with_front' => FALSE // if you have a permalink base such as /blog/ then setting this to false ensures your custom post type permalink structure will be /products/ instead of /blog/products/
),
);
register_post_type( 'portfolio', $args );
您可以使用的其他参数记录在 http://codex.wordpress.org/Function_Reference/register_post_type
我有一个自定义 post 按名称 'Portfolio' 键入。当我制作任何 post 时,它会生成 url 作为 /portfolio/xxx。我想将其更改为 'Products'。 Change custom post-type rewrite 我已经试过了,但应该行不通。
请参阅 URLs of Namespaced Custom Post Types Identifiers. One of the options available to you is to add a 'rewrite'
argument to register_post_type() 上的文档。来自文档:
When you namespace a custom post type identifier and still want to use a clean URL structure, you need to set the rewrite argument of the register_post_type() function. For example:
add_action( 'init', 'create_posttype' );
function create_posttype() {
register_post_type( 'acme_product',
array(
'labels' => array(
'name' => __( 'Portfolio' ),
'singular_name' => __( 'Portfolio' )
),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'products'),
)
);
}
然后您可能需要登录管理员并重新保存您的永久链接。
使用重写属性
$args= array(
// other settings
'rewrite' => array( 'slug' => 'Products' ),
);
register_post_type( 'portfolio', $args);
我假设您已经添加了自定义 post 类型,在这种情况下很容易。
当您注册一个新的 post 类型时,您可以为该 post 类型设置任何重写规则,作为 register_post_type( 'name', $args )
函数中使用的参数的一部分。
如果您的 post 类型在前端可用并且是 public,则默认情况下 WordPress 将使用自定义 post 名称作为 slug。您可以按如下方式覆盖它:
$args = array(
// your other arguments
'rewrite' => array(
'slug' => 'products', // use this slug instead of post type name
'with_front' => FALSE // if you have a permalink base such as /blog/ then setting this to false ensures your custom post type permalink structure will be /products/ instead of /blog/products/
),
);
register_post_type( 'portfolio', $args );
您可以使用的其他参数记录在 http://codex.wordpress.org/Function_Reference/register_post_type