Метаданные изображения [заголовок] не отображаются при вставке изображения с помощью второго редактора содержимого WordPress (wysiwyg) - PullRequest
0 голосов
/ 16 апреля 2019

Я развернул некоторый код в functions.php, который дает мне второй CLASSIC WYSIWYG / текстовый редактор (сейчас не имеет отношения к Гутенбергу), чтобы я мог заполнять контент для каждого поста из обоих редакторов.Всякий раз, когда я редактирую сообщение, я вижу два мастера (второй редактор отображается в области администратора с использованием meta_box).

Наличие второго редактора позволяет мне вставлять другой код (например, рекламу и другие вещи) вмежду тем, где каждый редактор выводит на страницу.

Все прекрасно работает, за исключением того, что когда я вставляю изображения во второй редактор, данные заголовка экранируются, а не отображаются в виде текста с подписью.

Ниже приведен код для второго редактора в функциях.php.

     function custom_editor2_meta_box() {    
               add_meta_box ( 
                  'custom-editor2', 
                  __('Second Content Area', 'custom-editor2') , 
                  'custom_editor2',
                  'post'
               );

     }

     //Displaying the meta box
     function custom_editor2($post) {          
              echo "<h3>Second content area that appears after the inline advertisement.</h3>";
              $content = get_post_meta($post->ID, 'custom_editor2', true);

              //This function adds the WYSIWYG Editor 
              wp_editor ( 
                $content , 
                'custom_editor2', 
                array ( "media_buttons" => true ) 
              );

     }

     //This function saves the data you put in the meta box
     function custom_editor2_save_postdata($post_id) {


        if( isset( $_POST['custom_editor_nonce'] ) && isset( $_POST['second'] ) ) {

            //Not save if the user hasn't submitted changes
            if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
            return;
            } 

            // Verifying whether input is coming from the proper form
            if ( ! wp_verify_nonce ( $_POST['custom_editor_nonce'] ) ) {
            return;
            } 

            // Making sure the user has permission
            if( 'post' == $_POST['second'] ) {
                   if( ! current_user_can( 'edit_post', $post_id ) ) {
                        return;
                   }
            } 
        } 

        if (!empty($_POST['custom_editor2'])) {

            $data = $_POST['custom_editor2'];
            if (strlen($data) > 0) { update_post_meta($post_id, 'custom_editor2', $data); }

        }

     }

    add_action('save_post', 'custom_editor2_save_postdata'); 
    add_action('admin_init', 'custom_editor2_meta_box');

То, что я ожидаю увидеть, - это отрендеренное изображение, а затем дружественный текст под ним.Вместо этого я вижу сам синтаксис [caption] до и после правильно отрисованного изображения, как если бы WordPress полностью игнорировал синтаксис:

[caption id = "attachment_165" align = "alignnone" width = "900"]

(изображение отображается правильно, потому что именно здесь тег изображения находится в синтаксисе заголовка)

здесь текст дружелюбного заголовка [/ caption]

1 Ответ

0 голосов
/ 17 апреля 2019

Похоже, вы хотите, чтобы шорткод заголовка обрабатывался в редакторе WYSIWYG? Это не предназначенная функция внутри WYSIWYG, которая предназначена для показа необработанного шорткода. Если он не отображается правильно на внешнем интерфейсе (шаблоне), попробуйте заключить вызов, чтобы напечатать содержимое редактора в do_shortcode.

Вы могли бы возможно попытаться вывести ваш контент в редактор, используя do_shortcode, но это сработает только один раз. То есть как только шорткод будет преобразован в HTML, в вашем редакторе появится HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...