показать мета-поле таксономии в шаблоне


Я добавляю некоторое пользовательское мета-поле в таксономию продукта "исполнитель" , они хорошо работают и сохраняются в таксономии

    /**
add meta data to artist taxonomy */

function artist_add_meta_fields( $taxonomy ) {
    ?>
    <div class="form-field term-group">
        <label for="artist_nickname"><?php _e( 'Nickname', 'my-plugin' ); ?></label>
        <input type="text" id="artist_nickname" name="artist_nickname" />
    </div>

    <?php
}
add_action( 'artist_add_form_fields', 'artist_add_meta_fields', 10, 2 );


function artist_edit_meta_fields( $term, $taxonomy ) {
    $artist_nickname = get_term_meta( $term->term_id, 'artist_nickname', true );
     ?>

    <tr class="form-field term-group-wrap">
        <th scope="row">
            <label for="artist_nickname"><?php _e( 'Nickname', 'my-plugin' ); ?></label>
        </th>
        <td>
            <input type="text" id="artist_nickname" name="artist_nickname" value="<?php echo $artist_nickname; ?>" />
        </td>
    </tr>

    <?php
}
add_action( 'artist_edit_form_fields', 'artist_edit_meta_fields', 10, 2 );

function artist_save_taxonomy_meta( $term_id, $tag_id ) {
    if( isset( $_POST['artist_nickname'] ) ) {
        update_term_meta( $term_id, 'artist_nickname', esc_attr( $_POST['artist_nickname'] ) );
    }

}
add_action( 'created_artist', 'artist_save_taxonomy_meta', 10, 2 );
add_action( 'edited_artist', 'artist_save_taxonomy_meta', 10, 2 );

Но я не могу их впустить taxonomy-artist.php в интерфейсе

//Get Taxonomy Meta
$artist_nickname = get_term_meta($term->term_id,'artist_nickname');
echo $artist_nickname; 

Но ничего не отображается. в чем моя проблема?

Author: Muhama MHM, 2017-11-16

2 answers

Если вы хотите отобразить в архиве или шаблоне категории (таксономии), попробуйте следующее:

$artist_nickname = get_term_meta( get_queried_object_id(), 'artist_nickname', true);
echo $artist_nickname;
 1
Author: JoseLazo, 2017-11-16 08:40:55

Вы можете использовать это

$youvaribale = get_term_meta( get_queried_object_id(), 'fieldname', true);

ИЛИ

$youvaribale = get_term_meta( catid, 'fieldname', true);

echo $youvaribale;
 0
Author: dalveer, 2017-11-16 11:48:38