Использование шаблонного текста при создании записи в WordPress


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

Предложение выглядит немного бредовым. Целью сайта securepulse.online является информирование подписчиков о выходе новых версий ПО, патчей и выявленных уязвимостях в тех или иных продуктов. Все новости из этого разряда имеют тип "SecurityNews" (для типизации постов испольузется плагин Toolset Types)

В ходе долгих обсуждение были отобраны следующие секции для всех новостей:

  • Описание новости (Decription)
  • Изменения (Changes)
  • Версии ПО к которым относится новость (Affected versions)
  • Рекомендуемое действие (Recommended action)
  • Ссылки на новость и сопутствующие ресурсы (Origin URLs)

Собственно редактор текста должен содержать эти разделы в момент создания записи.

Достигается это с помощью следующего кода в файле wp-admin/edit-form-advanced.php.

Находит строку:

<?php wp_editor( $post->post_content, 'content', array(

И добавляем перед ней следующее:

<?php if ($post_type == 'securitynews' && $action != 'edit') { 
    $template = "<strong>Decription: </strong>\n\n";
    $template .= "<strong>Changes: </strong>\n\n";
    $template .= "<strong>Affected versions: </strong>\n\n";
    $template .= "<strong>Recommended action: </strong>\n\n";
    $template .= "<strong>Origin URLs: </strong>\n\n";
}
?>

Саму же строку приводим к ледующему виду:

<?php wp_editor( $post->post_content.''.$template, 'content', array(

Код нужно добавлять в секцию "Fires after the title field", как показано на скриншоте:
screenshot-from-2016-12-18-162840

Здесь условиями выполнения является тип поста securitynews и действие редактирования.

В результате рисуется следующая картинка:
Screenshot from 2016-06-16 08:11:02

Share Button
(Visited 37 times, 1 visits today)

2 комментария на «“Использование шаблонного текста при создании записи в WordPress”»

  1. // Default post editor text //
    function diww_default_post_content( $content ) {
    $content = ‘Enter your default text in here. Bear in mind that you can use HTML if needed.This post was written by Dave Clements’;
    return $content;
    }

    add_filter( ‘default_content’, ‘diww_default_post_content’ );

    • Не сработал метод предложенный в коментарии, зато прекрасно работает метод в оригинальной статье. Правда приходтся применять заново после обновления WordPress

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.