Intereting Posts
Работа со шорт-кодом галереи и получение изображений галереи Получение содержимого страницы / категории в моем настраиваемом шаблоне страницы Pagination не работает над пользовательским запросом внутри шаблона пользовательской домашней страницы. Плагин для импорта / экспорта wp_options сделать титры подписи WordPress отзывчивыми Использовать шаблон страницы для пользовательского контента $ _GET Как получить плагин комментариев Facebook в блоге? Добавление «ответа на» в письме Получить автора последней версии Сортировка нескольких настраиваемых типов сообщений без пары мета-ключ / значение по порядку сортировки Записи ежемесячного архива WordPress приводят к 404 Создание первой публикации более широкой, чем другие сообщения на домашней странице (по умолчанию) Разрешить страницам, не связанным с SSL, использовать https или Force non-SSL-страницы для http? Получить имя таксономии из «зарегистрированного_таксономия» Как заставить header.php использовать разные css для разных страниц?

Назначить категорию по умолчанию

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

Обзор проблемы:

У меня есть плагин, который автоматически создает сообщение и присваивает категорию «YouTube» всякий раз, когда новое видео загружается на канал YouTube. Эта часть работает нормально. Однако – я также хочу, чтобы сообщение было назначено для типа сообщения «Видео». Плагин не разрешает этот тип настройки, поэтому это нужно сделать в php.

Где я посмотрел: (включен для тех, кто любит говорить «Вы читали форумы?»)

WordPress Codex Set Post Format

Кодекс WordPress в категории

WordPress Stack Exchange 1

WordPress Stack Exchange 2

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

Несколько разных попыток не приносят мне никаких результатов (не белый экран, изгоняющий меня, так что это бонус?)

1: (не уверен, где мне нужно будет сказать, что функция запускается)

//* If post has category YouTube - set post type to video function default_post_type($post_id) { // check autosave if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return $post_id; if (in_category('YouTube')) { set_post_format($post_id, 'video'); } } } 

2: (немного смешать, потому что … причины?)

 //* If post has category YouTube - set post type to video // check autosave if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return $post_id; function default_post_type($post_id) { if (in_category('YouTube')) { set_post_format($post_id, 'video'); } } } 

3: (тогда я подумал: «Зачем вообще использовать функцию?»)

 //* If post has category YouTube - set post type to video if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return $post_id; if (in_category('YouTube', $post_id)) { set_post_format($post_id, 'video'); } } 

Цените любую помощь – даже если вы можете сказать мне, почему я сделал неправильно. Благодарю.

Solutions Collecting From Web of "Назначить категорию по умолчанию"

Я также хочу, чтобы сообщение было назначено для типа сообщения «Видео».

Вы не можете просто изменить сообщение в другой тип сообщения. Существует разница между «Post Type» и «Post Format».

Из ваших примеров я предполагаю, что вы хотели бы изменить «Post Format», в соответствии с кодом xcodex.wordpress.org/Function_Reference/set_post_format , вам нужно вставить этот код в functions.php. Затем вызовите эту функцию в свой шаблон. например:

 <!-- Loop Start here --> //* If post has category YouTube - set post type to video default_post_type($post_id) { <!-- Loop End --> 

Для всех, у кого есть эта проблема – рабочий код выглядит так (помещен в файл functions.php):

 function default_post_type($post_id) { if (in_category('YouTube')) { set_post_format($post_id, 'video'); } } add_action( 'publish_post', 'default_post_type' ); 

Счастливый WordPressing