Intereting Posts
Безопасный способ использования name_save_pre? Как обновить файлы шаблонов WooCommerce в моей теме? Сообщение, принадлежащее многим категориям WP добавляет строки длинной версии в CSS и JS-файлы Определение крючков внутри классов (php)? Рандомизирующие ссылки на ссылки вне цикла – нет автора или даты Как включить редактор содержимого в качестве недоступной цели с помощью jQuery-ui? Получить контент по категориям или тегам что делает мою тему совместимой с несколькими? Как защитить тему премиум от копирования? Ресурс был предварительно загружен с использованием предварительной загрузки ссылок, но не использовался в течение нескольких секунд Как удалить все категории программно? Присвоение категории роли пользователя Тема Divi: изменить цвет наложения по умолчанию от синего до черного Удаление раскрывающегося списка фильтров в таблице сообщений (в данном случае Yoast SEO)

Создайте шаблон макета default_content на основе идентификатора сообщения

Задний план

Я пытаюсь создать шаблон персонализированного шаблона публикации для конкретной публикации (или даже страницы), которую пользователь WordPress может просто вставить контент с помощью редактора WYSIWYG, не беспокоясь о форматировании (по существу, в «регионах» они размещают контент) , Я хочу иметь несколько из этих «шаблонов макета», поэтому в зависимости от публикации (или страницы), которую они редактируют в области администрирования WP, у них есть предопределенная область, которую они могут разместить, например, некоторый текст и изображение.

Что я пробовал

add_filter( 'default_content', 'custom_editor_content' ); function custom_editor_content( $content ) { global $post; $id = $post->ID; if ( $id == '32') { $content = ' <div>place image here</div> <p>place text here</p> '; } return $content; } 

Пример, первоначально взятый отсюда

Что я пытаюсь

В приведенном выше примере (который не работает) я хочу, по существу, сделать условный оператор, говорящий, что if post id equals X, then use this template for the creation of the post

Я обнаружил, что фильтр default_content применяется только при создании нового сообщения (или страницы), и поэтому он не влияет на существующие сообщения / страницы, поэтому условный запуск этого кода на основе id бесполезен.

Конечные цели

Есть несколько результатов, которые, я думаю, могут помочь мне …

  • Если есть способ запустить фильтр default_content для post save / edit, то условное применение фильтра на основе идентификатора сообщения, вероятно, будет работать

  • Выясните способ создания нескольких разных настраиваемых шаблонов сообщений для конечного пользователя. То есть, предопределенные регионы, чтобы они могли вставлять содержимое в сообщение.

  • Или, наконец, есть ли другой способ разрешить конечному пользователю, без возможности HTML, просто помещать контент в сообщение или страницу, и он автоматически будет отформатирован для них (с моим форматированием на бэкэнд)?

Solutions Collecting From Web of "Создайте шаблон макета default_content на основе идентификатора сообщения"

Выясните способ создания нескольких разных настраиваемых шаблонов сообщений для конечного пользователя. То есть, предопределенные регионы, чтобы они могли вставлять содержимое в сообщение.

Вы можете сделать это с помощью настраиваемых полей / мета-полей, которые вы можете ограничить или отобразить на основе post-type или ID. Вы должны попробовать плагин Advanced Custom Fields .

Или, наконец, есть ли другой способ разрешить конечному пользователю, без возможности HTML, просто помещать контент в сообщение или страницу, и он автоматически будет отформатирован для них (с моим форматированием на бэкэнд)?

Если подход с настраиваемыми полями слишком сложный, вы можете попробовать Quicktag API с кнопками в Visual Editor ( установите флажок AddQuicktag ). Таким образом, пользователь нажимает только кнопку на панели инструментов редактора, и HTML-код будет применен к контенту. И если вы отредактируете editor-style.css пользователь сможет увидеть изменения в редакторе, точно так же, как и в интерфейсе. Я считаю, что это более чистый подход, чем использование стандартных shortcodes .