自定义帖子类型的永久链接

时间:2012-04-06 作者:Future Pocket

我正在尝试为我的自定义帖子类型获取一个自定义永久链接样式。。。我当前发布的永久链接是/%postname%/但对于我的自定义发布类型,我正在尝试在永久链接中获取自定义分类法。实际上,我不想在permalink中使用自定义分类法名称,但是,假设自定义分类法名称为“TYPES”,我在其下创建“PRODUCTS”,我的自定义帖子类型为“REVIEWS”。。。

我想要一个像/REVIEWS/PRODUCTS/%POSTNAME%这样的永久链接结构

从我当前的permalink结构来看,它只显示/评论/%POSTNAME%。你知道我怎样才能做到以上几点吗?顺便说一句,我正在使用自定义帖子类型UI插件创建自定义帖子类型和分类法。还尝试使用自定义Post类型Permalinks插件。。。但是设置%taxonomy%不起作用,我想我必须在某个地方注册它。

2 个回复
SO网友:Tom J Nowell

此代码将执行您想要的操作but 它假设yoru分类法和帖子类型没有继承权,例如,你的分类法像标签而不是类别一样工作,你的帖子类型不能有父帖子和子帖子。

此代码属于插件或函数。主题的php:

function custom_rewrite( $wp_rewrite ) {
    $feed_rules = array(
        \'reviews/(.+)/(.+)\'      =>  \'index.php?post_type=reviews&taxonomy_name=\'.$wp_rewrite->preg_index(1).\'&post_name=\' . $wp_rewrite->preg_index(2)
    );
    $wp_rewrite->rules = $feed_rules + $wp_rewrite->rules;
}
// refresh/flush permalinks in the dashboard if this is changed in any way
add_filter( \'generate_rewrite_rules\', \'custom_rewrite\' );
插入代码后,转到permalinks设置页面并重新保存以刷新旧的permalink规则并生成新规则。

但是,如果您的分类法或帖子类型是heirarchical,那么仍然可以这样做,但您需要相应地修改代码中的正则表达式。我对regex不太熟悉,无法给出建议。

SO网友:Rohit Pande

你可以从this 文章

您将在中找到更多信息rewrite 文章的属性描述。

例如:。

add_action( \'init\', \'create_my_post_types\' );
function create_my_post_types() 
{
        register_post_type( \'super_duper\',
                array(
                        \'labels\' => array
                        (
                                \'name\' => __( \'Super Dupers\' ),
                                \'singular_name\' => __( \'Super Duper\' ),
                                \'add_new\' => __( \'Add New\' ),
                                \'add_new_item\' => __( \'Add New Super Duper\' ),
                                \'edit\' => __( \'Edit\' ),
                                \'edit_item\' => __( \'Edit Super Duper\' ),
                                \'new_item\' => __( \'New Super Duper\' ),
                                \'view\' => __( \'View Super Duper\' ),
                                \'view_item\' => __( \'View Super Duper\' ),
                                \'search_items\' => __( \'Search Super Dupers\' ),
                                \'not_found\' => __( \'No super dupers found\' ),
                                \'not_found_in_trash\' => __( \'No super dupers found in Trash\' ),
                                \'parent\' => __( \'Parent Super Duper\' ),

                        ),
                        \'public\' => true,
                        \'show_ui\' => true,
                        \'publicly_queryable\' => true,
                        \'exclude_from_search\' => false,
                        \'rewrite\' => array( slug => \'New_label\',\'with_front\' => true ),
                )       
        );
}
提供在重写参数的slug值中使用的slug,以获得所需的permalink。

结束

相关推荐

Calling Permalinks With PHP

我正在开发一个支持WordPress帖子格式的主题。因此,我使用了一个大if语句,可以在下面找到。我想将我的帖子标题链接到帖子,同时将我的主题保持为XHTML有效</我想在if语句中调用图像(带类),同时将我的主题保持为XHTML有效</如果有人能在下面的代码中添加适当的代码,我将不胜感激_if ( has_post_format( \'video\' )) { echo the_title(); echo the