Это обычная функция, которая добавляет текст по умолчанию ко всем сообщениям:
add_filter( 'default_content', 'my_editor_content' );
function my_editor_content( $content ) {
$content = "default content goes here....";
return $content;
}
Как это изменить, чтобы добавить контент по умолчанию только к сообщению в одной категории?
10.04.11 Не точный ответ, но несколько вариантов ниже в моем собственном ответе
Фильтр запускается только для новых сообщений, в этот момент нет никакой связи между этим сообщением и какой-либо таксономией.
Можно ли добавить промежуточную страницу, которая запрашивает категорию при создании нового сообщения? Недавно я сделал нечто подобное, я могу поместить это в ответ, если хотите.
Мне было бы интересно увидеть в любом случае, Ян, мне так любопытно… 🙂
@ t31os: я создал для этого новый вопрос и ответ, потому что он может быть полезен сам по себе. Если кто-то хочет пойти по маршруту Ajax для этого вопроса, мне тоже было бы очень интересно!
@t31os, интересно, спасибо. Думаю, мне понадобится другой маршрут. @jan, я посмотрю твой код.
Похоже, это должно работать нормально, но я получаю ошибку php: неправильный тип данных для второго аргумента, я думаю, это имеет значение в in_array()
Я понимаю, почему, попробуйте обновленный код с приведением массива
Поле
post_category
на самом деле не используется в последний раз, когда я проверял.Правильно, я думаю, что я немного устарел, любые изменили функцию, спасибо.
Одним из возможных вариантов является этот вопрос / ответ здесь от Яна Фабри, который запрашивает контент по умолчанию в процессе создания нового сообщения: Принудительно выбрать категорию перед созданием нового сообщения?
В итоге я использовал Quicktag как способ легко вставить контент в сообщение, и поскольку контент по умолчанию был html, он пока работает так хорошо, как только может. Но в будущем, как оказалось, будет способ добавить контент по умолчанию в пост, когда этот пост будет сохранен в этой категории, и это будет хорошо.
Функция быстрых тегов для functions.php:
Пример кода Quicktags для custom-quicktags.js, который находится в папке темы:
Вы можете глобализировать $post и проверить, есть ли у него нужная категория: