事实上,这最终是直截了当的。
Displaying the drop down
我用这行代码得到了我的
pa_condition
分类法:
$attr_condition = get_terms(
array(
\'taxonomy\' => \'pa_condition\', //empty string(\'\'), false, 0 don\'t work, and return empty array
\'orderby\' => \'name\',
\'order\' => \'ASC\',
\'hide_empty\' => false, //can be 1, \'1\' too
));
我用它来获取当前产品的条件值(又名post)
$post_condition = get_the_terms($post_id,\'pa_condition\');
然后,使用for循环回显所有选项并为条件设置适当的select选项就很简单了。
Saving the drop down
我首先通过创建文件的子主题删除了自定义属性控件
plugins\\dokan-pro\\templates\\products\\product-variations.php
然后清空所有html内容。
然后我确定我的名字select
菜单,并在约定中回显相应的html变量,该约定允许Wordpress保存值,而不需要像这样的任何新后端代码
<select name="attribute_values[0][0]" class="dokan-form-control">
<?php
$val = count($post_condition) > 0 ? $post_condition[0]->slug : "";
foreach($attr_condition as $item) {
$selected = $val == $item->slug ? \' selected\' : \'\';
echo \'<option value="\'.$item->slug.\'"\'.$selected.\'>\'.$item->name.\'</option>\';
}
?>
</select>
<input type="hidden" name="attribute_names[0]" value="pa_condition" />
<input type="hidden" name="attribute_position[0]" value="0" />
<input type="hidden" name="attribute_is_taxonomy[0]" value="1" />
<input type="hidden" name="attribute_visibility[0]" value="1" />
这些html变量将创建适当的
$_POST
从“新建”下拉菜单中保存自定义属性值的架构。