要解决您的魔术问题,您可能需要一个小小的流程链,或者只是做一些明显简单的事情。
如果我理解正确的话,最后,你正在保存的当前帖子,是否要通过将任何“属于”的术语名称推到帖子url(slug)中来更改其slug(url)?
Scenario A)如果这不是一个自动过程/批处理,只需在帖子标题下编辑slug并输入您想要的单词,然后单击更新帖子。
Scenario B)钩入save_post
采取行动,做很多事情:
首先看一下:Codex 适用于:
wp_get_object_terms($post_id...
wp_set_object_terms($post_id...
最后,该过程将调用:
wp_update_post(array(
\'ID\' => $post_id,
\'post_name\' => \'some-new-slug\'
));
在内部工作
add_action(\'save_post\', \'do_stuff\')
具有
wp_update_post()
记住,一旦完成,就要删除动作,以防止出现经典的不定式循环。
您还必须决定要使用哪个术语?类别标签产品颜色?所有这些分类法和更多分类法都可能存在于一篇文章中或与之相关。
好吧,这是一个宏、shell或想法point you in the direction:
function do_stuff($post_id){
remove_action(\'save_post\', \'do_stuff\');
global $post;
$current_slug = $post->post_name;
$categories = wp_get_object_terms($post_id, \'category\', array(\'fields\' => \'slug\'));
foreach(... Look at codex link above, you only might need ONE slug to merge with.
$new_slug = $current_slug.\'-\'.$category_slug;
wp_update_post(array(
\'ID\' => $post_id,
\'post_name\' => $new_slug
));
}
add_action(\'save_post\', \'do_stuff\');
希望你的骨头上有肉,或者像我们在瑞典说的那样有肉。