Получение значения настраиваемого поля, добавленного к настраиваемой таксономии в WordPress - PullRequest
0 голосов
/ 07 ноября 2019

Я могу добавить пользовательское поле в пользовательскую таксономию и сохранить его, используя следующий код. Я проверил базу данных, и результат сохраняется в таблицу wp_options, например

enter image description here

, и когда я пытаюсь получить условия таксономии, я получаю тольковстроенные значения, такие как name, slug и ...

array (2) {[0] => object (WP_Term) # 4243 (10) {["term_id"] => int (7) ["name"] => string (2) "BB" ["slug"] => string (2) "bb" ["term_group"] => int (0) ["term_taxonomy_id"] => int (7) ["таксономия"] => string (6) "genres" ["description"] => string (0) "" ["parent"] => int (0) ["count"] => int (0) ["filter"] => string (3) "raw"} 1 => object (WP_Term) # 4242 (10) {["term_id"] => int (6) ["name"] => string (2) "ZZ" ["slug"] => string (2) "zz" ["term_group"] => int (0) ["term_taxonomy_id"] => int (6) ["таксономия"] => string (6) "genres" ["description"] => string (0) "" ["parent"] => int (0) ["count"] => int (0) ["filter"]=> string (3) "raw"}}

, но нет значения настраиваемого поля! Как я могу получить к нему доступ и отобразить его на странице?

 function mj_taxonomy_edit_custom_meta_field($term) {

        $t_id = $term->term_id;
        $term_meta = get_option( "taxonomy_$t_id" ); 
       ?>
        <tr class="form-field">
        <th scope="row" valign="top"><label for="term_meta[class_term_meta]"><?php _e( 'Dad Name', 'MJ' ); ?></label></th>
            <td>
                <input type="text" name="term_meta[class_term_meta]" id="term_meta[class_term_meta]" value="<?php echo esc_attr( $term_meta['class_term_meta'] ) ? esc_attr( $term_meta['class_term_meta'] ) : ''; ?>">
                <p class="description"><?php _e( 'Enter a value for this field','MJ' ); ?></p>
            </td>
        </tr>
    <?php
    }
add_action( 'genres_add_form_fields','mj_taxonomy_edit_custom_meta_field', 10, 2 );
add_action( 'genres_edit_form_fields','mj_taxonomy_edit_custom_meta_field', 10, 2 );


function mj_save_taxonomy_custom_meta_field( $term_id ) {
        if ( isset( $_POST['term_meta'] ) ) {

            $t_id = $term_id;
            $term_meta = get_option( "taxonomy_$t_id" );
            $cat_keys = array_keys( $_POST['term_meta'] );
            foreach ( $cat_keys as $key ) {
                if ( isset ( $_POST['term_meta'][$key] ) ) {
                    $term_meta[$key] = $_POST['term_meta'][$key];
                }
            }
            // Save the option array.
            update_option( "taxonomy_$t_id", $term_meta );
        }

    }  
add_action( 'edited_genres', 'mj_save_taxonomy_custom_meta_field', 10, 2 );  
add_action( 'create_genres', 'mj_save_taxonomy_custom_meta_field', 10, 2 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...