一个好的起点是(一如既往地)Codex函数参考。
有一个很好的小功能可以用来向帖子添加标签或类别(或任何内置或自定义分类法):wp_set_object_terms();
. 大概wp_set_post_terms();
更易于使用。当您点击链接时,可以找到进一步的解释。
有多种方法可以做到这一点:批量添加,获取所有帖子(例如,从类别中获取)get_posts();
(或其他查询),然后遍历所有给定的post对象并添加所需的标记。你也可以尝试向你的管理UI中添加批量编辑选项,但在你的情况下,我会用最简单的方法编写一个很好的小函数,将你的标签添加到一个类别中,然后再添加一个类别来检查是否添加了标签。然后进入下一个类别。编写一些定制函数来捕获所有添加的标记(真/假)并在之后进行检查不会太多。关机时把它倒在一张漂亮的桌子上不会有什么坏处:
function wpse31531_add_tags()
{
global $_dump_tag_check;
// the following array can contain any taxonomy. But you have to name it inside wp_set_post_terms. If you need to add tags, use \'post_tag\' as 3rd argument.
$tags = array( \'YOUR TAG NAME A HERE\', \'YOUR TAG NAME B HERE\' );
$args = array( \'post_type\' => \'post\', \'numberposts\' => -1, \'post_status\' => published );
$posts = get_posts( $args );
foreach ( $posts as $post )
{
$check = wp_set_post_terms( intval( $post->ID ), $tags, \'post_tag\', true ); // set last value to false if you want to replace existing tags.
$_dump_tag_check[ $post->ID ][\'tags\'] = $check ? explode( ", ", $tags ) : \'failed\';
}
}
add_action( \'init\', \'wpse31531_add_tags\' );
function wpse31531_dump_tag_check()
{
echo \'<table><thead><tr><th>Post ID</th><th>Tags</th></tr></thead><tbody>\';
foreach ( $GLOBALS[\'_dump_tag_check\'] as $ID => $check )
echo "<tr><td>{$ID}</td><td>{$check[\'tags\']}</td></tr>";
echo \'</tbody></table>\';
}
add_action( \'wpse31531_dump_tag_check\', \'shutdown\' );
当你阅读链接的codex页面时,你会发现上面的代码不是现成的,更像是一个粗略的指南。如果您能用您的工作代码编辑我的答案,以供以后的读者阅读,我们将不胜感激。谢谢