WP term_exists和wp_insert_term问题

时间:2018-11-19 22:06:08

标签: php wordpress wordpress-theming

也许我正在尝试重新发明轮子,但是我的问题是我需要检查自定义分类术语是否存在,如果不插入该术语,然后获取插入术语的term_taxonomy_id并将其分配给变量。此变量以后用于为将要以编程方式插入的帖子分配术语。我需要在一个函数中完成所有这些任务,因为所有这些都是通过wp_cron运行的。目前,我已经尝试从functions.php和插件运行该脚本–结果是添加了相同的术语,但为时已晚,不能抓到term_taxonomy_id。如果我在数据库中已经有术语时运行此功能,那么当然一切正常...

for ( $i = 0; $i < $count; $i++ ) {
    if ( empty( term_exists( $fast_new_categories[ $i ], 'fast-news-categories' ) ) ) {
        $x = $fast_new_categories[ $i ];
        add_action(
            'init',
            function () use ( &$x ) {
                wp_insert_term( $x, 'fast-news-categories', array( 'parent' => 0 ) );
            }
        );
    }
    $fast_news_term[] = term_exists( $fast_new_categories[ $i ], 'fast-news-categories', 0 );
}

我的wp_cron任务序列是:

  • 我从API收集帖子数据;
  • 我要遍历它,首先 我想做的是检查自定义分类术语数据;
  • 比我为帖子排列;比我插入帖子;
  • 除了我为那些刚刚插入的帖子分配自定义分类法的条款外–在这里,我需要之前的术语检查中的term_taxonomy_id。

我了解我可以从functions.php中执行term_exists(),但不能直接从它运行wp_insert_term(),这就是为什么我将add_action与稍后运行的init钩子一起使用的原因。

有人可以帮助我解决此问题吗?

0 个答案:

没有答案