Intereting Posts
Категории фильтров / теги для отображения в нескольких обменных позициях для выбора во внутренних Добавление липкой функциональности в пользовательские архивы типа публикации WPML с WP_Query, обслуживающим все 3 языка Как я могу добавить программно настраиваемые термины таксономии к сообщению пользовательского типа при сохранении сообщений? Отображать пользовательскую информацию об отладке внутри страницы, а не перед заголовком Разрешить точку в wordpress permalinks (только для категорий) Добавить фильтр таксомии в запрос одиночной почты? Зарегистрированный виджет отображается на сводной панели add_action для неизвестных настраиваемых типов сообщений Где добавить URL-адрес другого сайта для нашего сообщения в WordPress Отображение результатов поиска в самом виджете? get_comment_link без базы разбиения на страницы в возвращаемом URL? Пользователь электронной почты при обновлении wordpress Определить текущую тему WordPress Добавьте опцию выбора к виджетам по умолчанию

Добавить контент по умолчанию для публикации (для определенной категории)

Я пытаюсь добавить содержимое по умолчанию в мои сообщения, используя этот код в моих functions.php:

add_filter( 'default_content', 'my_editor_content' ); function my_editor_content( $content ) { $content = "My html content."; return $content; } 

Он отлично работает, но я хотел бы добавить контент только в некоторые категории. Это сложно, потому что контент по умолчанию добавляется при создании нового сообщения (так что он без категории). Я следовал этой теме: выбор категории Force до создания нового сообщения? и автор придумал способ заставить вас выбрать категорию до того, как wp создаст новое сообщение, но я не знаю, как редактировать код содержимого по умолчанию, поэтому он применим только к некоторым категориям?

default_content запускается, когда сообщение загружается в редактор. Вы можете проверить категории, когда сообщение сохранено, но вы, вероятно, захотите использовать save_post . Вы хотите проверить глобальный $_REQUEST .

 add_filter( 'default_content', 'my_editor_content' ); function my_editor_content( $content ) { global $_REQUEST; if (isset($_REQUEST['post_category']) && in_array($some_category_id,$_REQUEST['post_category'])) { $content = "My html content."; } return $content; } 

… при отсутствии синтаксических ошибок. 🙂

Вероятно, вы также захотите проверить, пуст ли post_content и вставить только его.

Вы можете использовать фильтр the_content для добавления контента в категорию:

 function my_category_content ( $content ) { global $post; if ( is_single() ) { if ( in_category( "My Category", $post->ID ) ) { $content .= 'Add something'; } return $content; } } add_filter( 'the_content', 'my_category_content' ); 

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

1) Если вы хотите использовать текст по умолчанию в редакторе POST EDITOR, используйте ответ @ Milo .

2) Если вы хотите добавить содержимое по умолчанию в front-end вывод сообщения, используйте этот код (в functions.php):

 function add_before_content($content) { global $post; if ( 'page' == $post->post_type ) {return 'YOUR MESSAGE'.$content;} if ( 'post' == $post->post_type ) {return 'YOUR MESSAGE'.$content;} //etc.......... } add_filter('the_content', add_before_content);