WP_INSERT_POST()不支持变量

时间:2016-05-19 作者:Sunny

以下函数有问题,因为我将传入一个变量wp_insert_term: wp_insert_term( $term, $taxonomy, $args = array() );

如果我这样做,它将不起作用:wp_insert_term( \'abc\', $taxonomy, $args );

代码如下:

function insert_city($term) {
    echo $term;
    if (!term_exists($term, "property-city")) {
        $args = array(\'description\'=> \'There is Described Glasgow.\',\'slug\' => \'glasgow\',);
        wp_insert_term(\'hellotesting\',\'property-city\',$args);
        // $i = get_cat_id($title);
        //  return $i;

1 个回复
SO网友:majick

在PHP中,字符串和设置为字符串的变量之间没有区别,因此问题出在其他地方。

很可能是通过slug 法典中提到的参数wp_insert_term: https://codex.wordpress.org/Function_Reference/wp_insert_term :

如果存在“slug”参数,则会检查slug是否为无效项。如果该检查成功(它不是一个有效的术语),则会添加它并给出术语id。如果失败,则检查分类法是否为层次结构,父参数是否为空。如果第二次检查成功,将插入术语并给出术语id。如果slug参数为空,则将从术语名称计算。

您可以尝试理解这一点,或者尝试删除slug参数,并允许从传递的字符串自动生成它。

相关推荐

GET_THE_TERMS与wp_GET_POST_TERMS中的奇怪结果

我正在尝试制作一个面包屑函数,但有一个小问题。。。使用时:$categories = get_the_terms( $post->ID, \'product_cat\' ); 我得到了一个循环中使用的类别数组,等等。唯一的问题是它是按字母顺序排列的。(我希望它按层次顺序排列。)经过一番挖掘,我发现了一种替代方法,即使用wp\\u get\\u post\\u terms(),但我肯定遗漏了一些东西,因为当我使用此方法时:$categories = wp_get_post_terms( $p