有谁知道我可以更改下面的代码为我的自定义分类(在魔术场2插件创建),以解决我的问题。 我想它呼应的name
选定的值,而不是slug
格式。 例如,我想呼应Client 1
和Client 2
,而不是client-1
和client-2
,因为它目前确实。
我想,以显示与空间和大小写正确例如多字名Joe Bloggs Associates
没有joe-bloggs-associates
。
project_statistics_client
是在魔术领域创建的字段的名称。 自定义字段的类型是Term
下拉菜单,然后从我的自定义分类叫做值填充Clients
。 该油田位于则名为场群内project_statistics
但我不知道,如果组名称影响的代码或没有?
同时请注意,上述所有在调用自定义后类型Projects
。
我已经检查插件的帮助,但还不能确定:
下面是代码:
<?php $clients = get_field('project_statistics_client');
foreach($clients as $client){
echo '<div>' . $client . '</div>';
} ?>
global $post;
$taxonomy = 'your taxonomy';
$terms = get_the_terms($post->ID, $taxonomy);
if ( is_array($terms) ) {
echo(implode(',', wp_list_pluck($terms, 'name')));
}
魔术字段2只提供了一个很好的GUI的基本的WordPress taxomony特征,因此可用于所有的WordPress分类功能。 特别地,get_the_terms()可以被用来获得交的类别。 这将返回对象的数组(一个柱可以是在多个类别)。 此外,您还需要从对象中提取的“名称”字段。
好了,过了一会儿,我记得我是怎样从已经让我来填充期限下拉字段与分类/类别选项一个论坛帖子粘贴一些代码。 现在我认为这是问题所在,为什么它的输出蛞蝓和没有名字? 我也决定要使用类别,而不是分类,因为我想我读这是更容易实现与类别来筛选基于选择的值和岗位的循环。 我附上下面的代码,我已经加入的functions.php因为:a)其他人可能希望与魔法领域使用它,但也B),希望有人可能知道我需要什么,以改变输出名称,而不是塞?
/**
* Custom Taxonomy Dropdown
*/
// initialisation
global $mf_domain;
// class with static properties encapsulating functions for the field type
class term_field extends mf_custom_fields {
public $allow_multiple = TRUE;
public $has_properties = TRUE;
public function _update_description(){
global $mf_domain;
$this->description = __("This field allows to do relations with taxonomie terms",$mf_domain);
}
public function _options(){
global $mf_domain;
// Get the taxonomie as dropdownoption
$select = array();
$tax = get_taxonomies();
foreach($tax as $k => $v){
$select[] = $v;
}
$data = array(
'option' => array(
'term' => array(
'type' => 'select',
'id' => 'term',
'label' => __('related taxonomy: ',$mf_domain),
'name' => 'mf_field[option][term]',
'default' => '',
'options' => $select,
'add_empty' => false,
'description' => '',
'value' => '',
'div_class' => '',
'class' => ''
),
)
);
return $data;
}
public function display_field( $field, $group_index = 1, $field_index = 1 ) {
global $mf_domain;
// If is not required this field be added a None value
$notype = "";
if( !$field['required_field'] ) {
$notype = ( !empty($field['options']['notype']) ) ? $field['options']['notype'] : __( "-- None --" , $mf_domain );
}
$output = '';
// Get the taxonomie as dropdownoption
$select = array();
$tax = get_taxonomies();
foreach($tax as $k => $v){
$select[] = $v;
}
$option_from_term_array = $field['options']['term'];
$options = get_terms($select[$option_from_term_array], array('hide_empty' => false));
$output = '<div class="mf-dropdown-box">';
$value = $field['input_value'];
$output .= sprintf('<select class="dropdown_mf" id="%s" name="%s" >',$field['input_id'],$field['input_name']);
if( $notype != "" ) {
$output .= "<option value=''>$notype</option>";
}
foreach($options as $option) {
$check = ($option->slug == $value) ? 'selected="selected"' : '';
$output .= sprintf('<option value="%s" %s >%s</option>',
esc_attr($option->slug),
$check,
esc_attr($option->name)
);
}
$output .= '</select>';
$output .= '</div>';
return $output;
}
}