多站点安装中的WP_INSERT_TERM

时间:2016-01-20 作者:Sagive

我正在创建一个主题,它可以创建页面,并在主题激活上设置一些元值和ext。一切都很好,但。。。

我需要在多站点安装的misc cpt中插入一些术语。

i tried this method:

switch_to_blog($blog_id);
wp_insert_term($move_type, \'jobtype\');
restore_current_blog();
does not work. Ideas anyone?<如果你有DB方法,即使是DB方法也很好。

1 个回复
SO网友:Sumit

我不知道你是如何在网络上激活主题的,但我正在考虑在现有网络上安装新主题的情况。

在任何单个站点上激活主题都会为网络中的每个站点插入术语,但是的,当然分类注册码应该已经存在了。

考虑一下这个例子

function after_switch_theme_callback() {
    $blogs = wp_get_sites(); //Array of site Ids
    foreach ($blogs as $blog) {
        if (!empty($blog[\'blog_id\'])) {
            switch_to_blog($blog[\'blog_id\']);
            wp_insert_term(\'myTerm \'.$blog[\'blog_id\'], \'genre\');
            restore_current_blog();
        }
    }
}
add_action(\'after_switch_theme\', \'after_switch_theme_callback\');
在我看来,它工作得很好。

Note:

在上注册分类init 操作,以便在after_switch_theme 行动

相关推荐

检查GET_TERMS请求中是否存在插件

我想让用户能够从前端创建各种自定义帖子,但根据指定的分类,返回链接到它的自定义帖子表单。因此,在获得所选分类法之后,我无法检查get\\u terms()请求中是否存在该分类法我认为这是因为in\\u array()函数在多维数组方面做得不好。因此,我在这里搜索并找到了一种方法来生成另一个克服该问题的函数,但它仍然不起作用这是我的代码:<?php $cptTax = $_GET[\'choosetax\']; $tax1List = get_terms([