嗨,喜欢标题上的状态,我如何才能做到这一点?我尝试了很多插件,它们都只适用于自定义帖子类型。
现在的情况是,我有一个自定义的帖子类型(食物),对于食谱,我使用wordpress帖子,
我想让这篇文章成为新老文章的/食谱/我最棒的标题。我知道我可以在permalink部分更改这一点,但如果我添加/recipes/%postname/,
我的自定义帖子也变成了/食谱/食物/我的真棒标题,这不是我想要的。
除了安装几个插件外,我还没有尝试任何代码,因为我可以在wp中编写代码,而依赖插件。
根据这个a link 我必须注册帖子类型,我完全不知道如何做到这一点,请帮助那些有能力的我,谢谢你之前的好意。
已编辑:我找到了此代码段
function filter_post_link($permalink, $post) {
if ($post->post_type != \'post\')
return $permalink;
return \'recipes\'.$permalink;
}
add_filter(\'pre_post_link\', \'filter_post_link\', 10, 2);
我的帖子变成了/菜谱/我很棒的帖子,但我被重定向循环重定向了太多次。
知道为什么吗?我还更新了permalink
SO网友:DRMTV
好的,再次搜索后,我找到了这个,它成功了
/**
* Add new rewrite rule
*/
function create_new_url_querystring() {
add_rewrite_rule(
\'recipes/([^/]*)$\',
\'index.php?name=$matches[1]\',
\'top\'
);
add_rewrite_tag(\'%recipes%\',\'([^/]*)\');
}
add_action(\'init\', \'create_new_url_querystring\', 999 );
/**
* Modify post link
* This will print /recipes/post-name instead of /post-name
*/
function append_query_string( $url, $post, $leavename ) {
if ( $post->post_type == \'post\' ) {
$url = home_url( user_trailingslashit( "recipes/$post->post_name" ) );
}
return $url;
}
add_filter( \'post_link\', \'append_query_string\', 10, 3 );
/**
* Redirect all posts to new url
* If you get error \'Too many redirects\' or \'Redirect loop\', then delete everything below
*/
function redirect_old_urls() {
if ( is_singular(\'post\') ) {
global $post;
if ( strpos( $_SERVER[\'REQUEST_URI\'], \'/recipes/\') === false) {
wp_redirect( home_url( user_trailingslashit( "recipes/$post->post_name" ) ), 301 );
exit();
}
}
}
add_filter( \'template_redirect\', \'redirect_old_urls\' );
可以找到完整帖子的链接
a link 在这里