使用自己的php脚本从wp标题批量生成wp分类标签

时间:2017-12-10 作者:thar.lab

我想使用插件将wp标题生成到标签中,https://wordpress.org/plugins/wp-full-auto-tags-manager/,因为我有数百万个帖子,所以日程表/cronjob工作不正常。所以我想用self-php脚本手动执行,我可以使用插件中的一段代码并在ssh终端上独立运行它吗,这是一段代码:

$nsw_sql_gen_tags = $wpdb - > prepare(" SELECT ID, post_title FROM $wpdb->posts WHERE post_status = %s AND post_type = %s ORDER BY ID ASC LIMIT %d ", \'publish\', \'post\', $nsw_limit);
/************************************************************************/
$nsw_query_gen_tags = $wpdb - > query($nsw_sql_gen_tags);
if ($nsw_total_posts >= $nsw_limit) {
    foreach($wpdb - > get_results($nsw_sql_gen_tags) as $key => $row) {
        $post_ID = $row - > ID;
        $post_title = $row - > post_title;
        $nsw_post_title = strtolower($post_title);
        $posttags = get_the_tags($post_ID);
        if ($posttags) {
            foreach($posttags as $tag) {
                //tags are available();
            }
        } else {
            $string = $nsw_post_title;
            require(dirname(__file__).
                \'/cleanup_string.php\');
            $keywords = explode(\' \', $string);
            $nsw_i = 0;
            foreach($keywords as $keyword) {
                if ((preg_match("/^[a-z0-9]/", $keyword)) && (strlen($keyword) > 4)) {
                    nsw_get_keyword_console($keyword);
                    nsw_get_total_tags_console($nsw_total_tag);
                    $final_tags = \'\'.$keyword.
                    \'\';
                    $nsw_i++;
                    if ($nsw_i == 7) break;
                    wp_set_post_tags($post_ID, $final_tags, true);
                }
            }
        }
    }
最快的方法是什么?我的主要目的实际上是基于标签创建帖子关系,或者创建相关帖子(因为我使用工具集视图插件,它只有基于标签的关系功能,但没有基于相关帖子过滤的功能)

1 个回复
SO网友:Welcher

这里最好的方法是使用自定义WP\\u CLI命令来处理此问题。请阅读此处了解详细信息-https://make.wordpress.org/cli/handbook/commands-cookbook/

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register