获取可视编写器短码的自定义分类,但不起作用?

时间:2017-03-27 作者:aminor1993

我为visual composer创建了一个短代码,以获取自定义分类法的术语。但当我得到它们时(对于visual composer后端编辑器上的类别下拉列表),它就不起作用了

enter image description here我的代码:

$args1= array(
   ‘taxonomy’ => ‘danh_muc’, **// my custom taxonomy**
   ‘hide_empty’ => 0,
);
$inra=array();
$danhmucs= get_terms($args1);
foreach ($danhmucs as $danhmuc) {
   $tendm=$danhmuc-> name;
   $iddm=$danhmuc-> term_id;
   $inra[$tendm]=$iddm;
}
vc_map( array(
   “name” => __(“News”, ‘understrap’),
   “base” => “tintuc”,
   “class” => “”,
   “category” => ‘Content’,
   “icon” => “icon-wpb-application-icon-large”,
   “params” => array(
      array(
         “type” => “dropdown”,
         “holder” => “div”,
         “class” => “”,
         “heading” => “Danh mục”,
         “param_name” => “cat”,
         “value” => $inra, //**array taxonomy by name=> id**
         “description” => ‘Chọn danh mục BĐS cần hiện bài đăng’,
      ),
   )
));
但当我将“分类法”=>“danh\\u muc”改为“分类法”=>“类别”时,它工作得很好

我var\\u dump$inra有两个案例:“taxonomy”=>“danh\\u muc”和“taxonomy”=>“category”,结果是一样的<谢谢大家

2 个回复
SO网友:ricotheque

你的dahn_muc 自定义分类法?get_terms 如果未创建任何条款,则不会返回任何内容。

另外,您是如何创建自定义分类法的?我通常依靠GenerateWP.com\'s taxonomy generator 确保一切正常进行。

最后,最好反向填充$inra 大堆使用术语ID作为键,而不是值:

foreach ( $danhmucs as $danhmuc ) {
    ...
    $inra[$iddm] = $tendm;
    ...
}

SO网友:phenomenia

这篇文章很旧,但它帮助我创建了所需的代码。由于我有一个有效的解决方案,多亏了@ricotheque和@aminor1993,我想在这里发布我的代码。也许这对寻找同样的人有帮助。

我有一个名为“reference”的自定义帖子类型,其中的类别作为分类法,称为“reference\\u category”。

我希望用户能够选择在引用自定义帖子类型上创建的类别,以便我可以向他显示分配给所选类别的引用项。

这是我的代码:

$references=array();
$reference_items = get_terms (
    array(
        "taxonomy" => "reference_category",
        "hide_empty" => 0,
    )
);
foreach ($reference_items as $item) {
    $itemName = $item-> name;
    $itemId = $item-> term_id;
    $references[$itemId] = $itemName;
}


vc_map(
    array(
        "name" => __("Reference"),
        "base" => "ci_vc_reference",
        "icon" => "ci-vc-icon",
        "category" => __(\'Colibri Interactive\', \'ciframework-vc\'),
        "params" => array(
            array(
                "type" => "dropdown",
                "holder" => "div",
                "class" => "",
                "heading" => __(\'Show references of category\', \'ciframework-vc\'),
                "param_name" => "category",
                "value" => $references,
            ),
       )
    )
);

相关推荐

Namespaced shortcode?

我正在改造一个旧的WP站点,该站点有许多自定义的短代码,显然由于代码当前的组织方式,这些短代码在性能方面付出了代价。当然,我可以修复优化不好的代码,使用十几个短代码,并且一天就可以完成,但我想知道如何更好地组织它们。根据WordPress\'documentation, 建议将它们放在插件中并在上初始化init. 我们可以通过这样“命名”它们来减少这个钩子中的负载吗?[com.company shortcode attr=\"attr\" prop=\"prop\"] 有人尝试过这样的解决方案吗