我一直在尝试为Category Ajax Chain Selects 插件,以便我可以轻松地在所选的帖子/页面中显示链选择,但目前我只能将属性硬编码到短代码中:
function cross_ref_lookup_shortcode() {
echo chainselect_getcategories( \'kla-competitor\', 2, array(\'Select Manufacturer\', \'Select Product\'), array(\'Manufacturer\', \'Product\'), \'Find comparable product\', \'\', 0 );
}
add_shortcode( \'cross_ref_lookup\', \'cross_ref_lookup_shortcode\' );
这很好,我可以在我想要的地方显示链选择,但我想创建一个短代码,在那里我可以添加变量作为短代码属性。
这个usage of the chainselect_getcategories function 如下所示:
<?php chainselect_getcategories( $tax, $level, $titles, $labels, $btn_text, $exclude, $count ) ?>
我已经做得够多了,除了标签和标题之外,所有的东西都工作了,因为它们需要一个数组。我不知道如何将一个shortcode属性作为数组传递给函数,以便按预期工作。在上面的硬编码示例中,数组可以工作,这就是我需要从shortcode属性重新创建的内容。以下是我所了解的:
function chain_select_shortcode( $atts ) {
extract( shortcode_atts( array( \'tax\' => \'category\', \'level\' => 1, \'titles\' => array( \'Please select…\' ), \'labels\' => \'\', \'btn_text\' => \'Submit\', \'exclude\' => \'\', \'count\' => 1 ), $atts ) );
return chainselect_getcategories( $tax, $level, explode( \',\', $titles ), explode( \',\', $labels ), $btn_text, $exclude, $count );
}
add_shortcode( \'ajax_chain_select\', \'chain_select_shortcode\' );
关于如何完成这项工作有什么想法吗?