批量/批量为帖子分配类别

时间:2014-03-27 作者:kat

我需要分配类别,以约200个职位的批量。每个帖子都有几个类别。我在文本文件中为每个帖子提供了帖子ID和类别ID,如下所示:

Post ID, Category ID, Category ID, Category ID
如何在内部设置自定义函数functions.php 使用wp_set_post_categories 要执行此任务?

谢谢

1 个回复
最合适的回答,由SO网友:engelen 整理而成

首先,您需要解析文本文件。使用fopenfgets 您可以逐行读取文件。对于每一行,可以使用explode分隔以逗号分隔的ID列表。在那之后,就是简单地打电话wp_set_post_categories 其中,post ID是ID列表的第一个元素,而category ID是其他元素。

$fh = @fopen( dirname( __FILE__ ) . \'/testfile.txt\', \'r\' );

if ( $fh ) {
    while ( ( $line = fgets( $fh ) ) !== false ) {
        // Separate by comma
        $ids = explode( \',\', $line );

        // Remove leading and trailing spaces from post ID and category IDs
        array_walk( $ids, \'trim\' );

        // Get and remove first element of the list of IDs, the post ID
        $postid = array_shift( $ids );

        // Set categories for the post
        wp_set_post_categories( $postid, $ids );
    }
}
请注意wp_set_post_categories 如果将空数组作为类别列表传递,则会将“未分类”类别分配给帖子。

结束