Поддержка Плагины Код с условием, для вывода произвольных полей

  • Помогите написать код (для метатегов) с таким условием:
    1) если статическая страница или страница записи или главная страница — выводится некое произвольное поле, например title;
    2) если страница архива какой-либо рубрики — выводится произвольное поле рубрики, например cat_title.

    Произвольные поля для рубрик планирую сделать так —

    // добавляет вызов функции при инициализации административного раздела
    add_action('admin_init', 'category_custom_fields', 1);
    // функция расширения функционала административного раздела
    function category_custom_fields()
        {
            // добавления действия после отображения формы ввода параметров категории
            add_action('edit_category_form_fields', 'category_custom_fields_form');
            // добавления действия при сохранении формы ввода параметров категории
            add_action('edited_category', 'category_custom_fields_save');
        }
    
    function category_custom_fields_form($tag)
        {
            $t_id = $tag->term_id;
            $cat_meta = get_option("category_$t_id");
    ?>
            <tr class="form-field">
            <th scope="row" valign="top"><label for="extra1"><?php _e('cat_title'); ?></label></th>
            <td>
            <input type="text" name="Cat_meta[cat_title]" id="Cat_meta[cat_title]" size="25" style="width:60%;" value="<?php echo
            $cat_meta['cat_title'] ? $cat_meta['cat_title'] : ''; ?>"><br />
                        <span class="description"><?php _e('Title категории'); ?></span>
                    </td>
            </tr>
            <?php
        }
    
    function category_custom_fields_save($term_id)
        {
            if (isset($_POST['Cat_meta'])) {
                $t_id = $term_id;
                $cat_meta = get_option("category_$t_id");
                $cat_keys = array_keys($_POST['Cat_meta']);
                foreach ($cat_keys as $key) {
                    if (isset($_POST['Cat_meta'][$key])) {
                        $cat_meta[$key] = $_POST['Cat_meta'][$key];
                    }
                }
                //save the option array
                update_option("category_$t_id", $cat_meta);
            }
        }

    Жалкий пример того, что мне нужно —

    if ( is_single() || is_page() ) {
    if ( function_exists('get_post_meta') && get_post_meta($post->ID, 'title', true) ) {
    echo get_post_meta($post->ID, 'title', true);
    }
    
    elseif ( is_category() ) {
    ...валшебный код...'cat_title'...валшебный кол...; 
    
    }
  • Тема «Код с условием, для вывода произвольных полей» закрыта для новых ответов.