Intereting Posts
В то время как в «цикле», обнаружите, что сообщение является последним Как добавить пятый вариант в подборщик выравнивания? Прикрепить файлы Metabox Предварительные заказы Woocommerce – Могу ли я переопределить шаблоны? Изменение размера изображений галереи? Корзина в WP 3.8? Как сохранить статические каталоги в многодозовых поддоменах? Ошибка загрузки изображения с помощью настраиваемого шаблона страницы в Internet Explorer Помощь append_content Изменить электронную почту для уведомления об обновлении Двадцать десятая тема для детей имеет сообщение на внутренней странице. Не могу получить эту страницу, чтобы использовать мой желаемый шаблон Замените исходное изображение, редактор изображений WP Проводка XML-запроса с использованием HTTP API Способ добавления заголовков в галереи изображений по коду редактирование интерфейса с помощью iFrames, лучший подход?

Создайте шаблон макета 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 .