@alexiusgrey

Почему может не работать тег more при отображении поля с редактором TinyMCE?

Тема самописная на underscore, без билдеров, плагинов мало.
Гутенберг отключен для всего, кроме виджетов, так что это классик-редактор.
В теме добавлено поле для категорий товара как "нижнее описание" - с редактором TinyMCE.
add_action( 'product_cat_add_form_fields', 'cxc_taxonomy_add_new_meta_field', 10, 2 );

function cxc_taxonomy_add_new_meta_field() {
    // this will add the custom meta field to the add new term page
    ?>
    <div class="form-field">
        <label for="custom_term_meta"><b>Bottom category description</b></label>
        <?php
       $term_id = $term->term_id;
        wp_editor(get_term_meta( $term_id, 'custom_term_meta', true ), 'custom_term_meta', array(
            'wpautop'       => 1,
            'media_buttons' => 1,
            'textarea_name' => 'custom_term_meta',
            'textarea_rows' => 5,
            'tabindex'      => null,
            'editor_css'    => '<style>.quicktags-toolbar, .wp-editor-tools, .wp-editor-wrap, .wp-switch-editor {padding: 5px 10px;}</style>',
            'editor_class'  => 'form-field tinyeditor',
            'teeny'         => 0,
            'dfw'           => 0,
            'tinymce'       => 1,
            'quicktags'     => 1,
            'drag_drop_upload' => false
        ) );?>
        <p class="description">Bottom category description</p>
    </div>
    <?php
}
add_action( 'product_cat_edit_form_fields', 'cxc_taxonomy_edit_meta_field', 10, 2 );

function cxc_taxonomy_edit_meta_field( $term ) {

    // put the term ID into a variable
    $term_id = $term->term_id;

    // retrieve the existing value(s) for this meta field. This returns an array
    $term_meta = get_term_meta( $term_id, 'custom_term_meta', true ); ?>
    <tr class="form-field">
        <th scope="row" valign="top"><label for="custom_term_meta"><b>Bottom category description</b></label></th>
        <td>
            <?php
                wp_editor(get_term_meta( $term_id, 'custom_term_meta', true ), 'custom_term_meta', array(
                    'wpautop'       => 1,
                    'media_buttons' => 1,
                    'textarea_name' => 'custom_term_meta',
                    'textarea_rows' => 5,
                    'tabindex'      => null,
                    'editor_css'    => '<style>.quicktags-toolbar, .wp-editor-tools, .wp-editor-wrap, .wp-switch-editor {padding: 5px 10px;}</style>',
                    'editor_class'  => 'form-field tinyeditor',
                    'teeny'         => 0,
                    'dfw'           => 0,
                    'tinymce'       => 1,
                    'quicktags'     => 1,
                    'value'       => TRUE,
                    'drag_drop_upload' => false
                ) );?>
            <p class="description">Bottom category description</p>
        </td>
    </tr>

    <?php
}

add_action( 'edited_product_cat', 'cxc_save_taxonomy_custom_meta', 10, 2 );
add_action( 'create_product_cat', 'cxc_save_taxonomy_custom_meta', 10, 2 );

function cxc_save_taxonomy_custom_meta( $term_id ) {
    if ( isset( $_POST['custom_term_meta'] )  ) {
        update_term_meta( $term_id, 'custom_term_meta', $_POST['custom_term_meta'] );
    }
}

add_action( 'woocommerce_after_shop_loop', 'alternative_cat_description',20 );

function alternative_cat_description(){ ?>
  <div class="bottom-desk">
    <?php
    if( is_product_category() ) {
      $term_desc = get_term_meta( get_queried_object_id(), 'custom_term_meta', true);
      echo $term_desc;
    }
      ?>
  </div>
<?php }

Да, это не ACF, это как то же самое, но руками.
В редакторе тег more добавляется, все на месте, но на странице категории его нет, он не отображается. В инспекторе кода (который F12) отображается как закомментированный . После первого абзаца нижнего описания, перед вторы....
Я именно с этим тегом сталкиваюсь впервые - я знал, что в статьях такой есть, просто не приходилось как-то его специально настраивать. По идее он должен работать в любом поле, и для типов записей, и для таксономий?
Или нужно что-то просписать специально, чтобы он внутри этого поля работал?
  • Вопрос задан
  • 32 просмотра
Пригласить эксперта
Ответы на вопрос 1
YBB
@YBB
По идее он должен работать в любом поле, и для типов записей, и для таксономий?

Нет, не должен. <!--more--> работает (если ему не мешают) только в записях, основываясь на том, что выводится, список записей или одиночная запись. Для использования в других местах нужно самостоятельно реализовывать всю "механику".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы