我想更改某个post类型的slug(在本例中,article) 转换为其自定义字段中的某个值。
我去了函数。php,并将此代码放入。
function na_remove_slug( $post_link, $post, $leavename ) {
if ( \'article\' != $post->post_type || \'publish\' != $post->post_status ) {
return $post_link;
}
# get the custom field value here to be the slug
$post_name = get_field(\'filter_category\', $post->ID)->post_name;
# replace the "article" by the value of the custom field
$post_link = str_replace( \'/\' . $post->post_type . \'/\', "/$post_name/", $post_link );
return $post_link;
}
add_filter( \'post_type_link\', \'na_remove_slug\', 10, 3 );
当我查询自定义帖子类型时,它的slug似乎被更改了,例如:
www.example.com/article/some-title 进入
www.example.com/design/some-title哪里design 是我的自定义字段值。
但当我最终访问www.example.com/design/some-title, 我有一个404。但如果我去www.example.com/article/some-title, 它返回正确的网页。
我知道我的代码只会改变链接在显示时的显示方式,但如何使用我修改过的slug正确显示我的单个帖子呢?
如果您需要更多澄清,请随时发表评论。