Как создавать записи и страницы программно в WordPress

Опубликовано: 2021-09-16

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

Как самая большая система управления контентом (CMS) в мире, публикация постов и страниц является одной из ее основных функций. Изначально WordPress был создан, чтобы помочь владельцам веб-сайтов создавать и управлять своими сайтами. В настоящее время это стало комплексным решением для всех видов сайтов.

Помимо популярности среди блогов и интернет-магазинов, существует множество других типов веб-сайтов, созданных с помощью WordPress, от каталогов до каталогов, досок объявлений, вики, личных портфолио, форумов или даже сетей социальных сетей.

Все веб-сайты (кроме статических) публикуют определенный тип контента с определенной периодичностью. Посты и страницы — это самый простой тип контента по сравнению с другими типами, такими как продукты, комментарии, обзоры и многое другое.

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

Разница между публикацией и страницами

1) Посты

В WordPress сообщения — это способ, с помощью которого веб-сайт предоставляет ценный и обновленный контент своим пользователям. Ожидается, что веб-сайт публикует сообщения регулярно, но это сильно зависит от типа сайта. Новостной блог будет размещать контент гораздо чаще, чем корпоративный сайт, поэтому количество сообщений на веб-сайте может сильно различаться.

Посты обычно располагаются на веб-сайтах в обратном хронологическом порядке. Это означает, что последний опубликованный пост будет отображаться вверху списка. Но вы также можете сделать публикацию прикрепленной и постоянно отображать ее где-нибудь на своем веб-сайте.

Когда у вас большой сайт с сотнями или даже тысячами постов, правильное использование таксономий является ключом к тому, чтобы пользователи могли легко находить любой пост. Имейте в виду, что они будут перемещаться по категориям и подкатегориям, просматривать список тегов и использовать окно поиска. Для получения дополнительной информации об этом, ознакомьтесь с нашей статьей о том, как добавлять категории в меню.

2) Страницы

В отличие от постов, страницы должны быть более статичными, чем посты. Однако они часто содержат контент, который постоянно обновляется. Например, страница магазина или страница категории, безусловно, будут иметь обновленный контент, но они все равно будут страницами, потому что вы не публикуете новую страницу магазина для каждого обновления продукта.

Такие страницы, как «О нас», «Кто мы», «Контакты» или «Документация», в основном представляют собой статический контент, поэтому они обычно не обновляются очень часто.

Еще одно различие между сообщениями и страницами — это теги и категории. Сообщения могут иметь категории и теги для облегчения их организации и использования в полях поиска, в то время как на страницах отсутствуют таксономии.

Для получения дополнительной информации об этом ознакомьтесь с нашим руководством, в котором объясняются различные способы создания страниц. Кроме того, мы рекомендуем вам ознакомиться с нашим руководством по изменению типа записи в WordPress.

Зачем создавать посты и страницы программно?

Вы, наверное, знаете, как создавать записи и страницы из панели управления WordPress. Вам просто нужно перейти в « Сообщения/Страницы» > «Добавить новый» и добавить имя, контент, выбрать категорию и так далее.

Однако если вы работаете над более сложным проектом, вам может понадобиться альтернативное решение. Например, если вам нужно автоматизировать процесс публикации для выполнения определенного требования или ограничить доступ для определенных пользователей. Если это ваш случай, научиться создавать записи и страницы WordPress программно будет очень полезно.

Как публиковать посты и страницы WordPress программно

В этом разделе мы покажем вам, как программно создавать записи и страницы в WordPress. Мы объясним код ниже, но рекомендуется, чтобы у вас были некоторые навыки программирования, чтобы упростить процесс.

ПРИМЕЧАНИЕ . Поскольку мы будем редактировать некоторые основные файлы, прежде чем мы начнем, мы рекомендуем сделать резервную копию вашего сайта. Кроме того, создайте дочернюю тему, если у вас ее еще нет, или используйте любой из этих плагинов дочерней темы.

Как публиковать посты

Вот полный скрипт, который автоматически опубликует пост, и объяснение кода ниже. Имейте в виду, что вы должны вставить код в файл functions.php вашей дочерней темы.

 add_action('admin_init', 'QuadLayers_publish_post');

функция QuadLayers_publish_post() {
 
    если (get_option('post_is_published_01') != 'да') {
		 $postType = 'сообщение'; 
		 $userID = 1; 
		 $categoryID = '1'; 
		 $postStatus = 'опубликовать';  
		 $leadTitle = 'Пост был опубликован '.date("n/d/Y");
		 $leadContent = '<h1>Программно опубликовано</h1><p>Это сообщение было опубликовано программно, и мета-опция сохранена как <b>post_is_published_01</b>. PHP-скрипт в файле functions.php дочерней темы.</p>';
		 $leadContent .= ' <!--more--><p>Они дорогие, но они того стоят.</p>';
		 
		 # время и дата сборки
		 $timeStamp = $minuteCounter = 0;  
		 $iCounter = 1; 
		 $минутное приращение = 1; 
		 $adjustClockMinutes = 0; 
		 $minuteCounter = $iCounter * $minuteIncrement; 
		 $minuteCounter = $minuteCounter + $adjustClockMinutes; 
		 $timeStamp = date('Ymd H:i:s', strtotime("+$minuteCounter min")); 

	 	 # сборка поста
		 $ new_post = массив (
		 'post_title' => $leadTitle,
		 'post_content' => $leadContent,
		 'post_status' => $postStatus,
		 'post_date' => $timeStamp,
		 'post_author' => $userID,
		 'post_type' => $postType,
		 'post_category' => массив ($categoryID)
		 );	
		 #опубликовать!
		 $post_id = wp_insert_post($new_post);

  update_option('post_is_published_01', 'да');
    }
}

Поскольку мы не можем знать, существует ли сообщение до его публикации, нам нужно где-то зарегистрироваться, что наше сообщение опубликовано. Если мы этого не сделаем, наш пост будет публиковаться каждый раз при загрузке внутреннего экрана.

Таблица параметров базы данных является правильным местом для этого. Мы сохраняем параметр с именем post_is_published_01 после публикации сообщения с помощью функции update_option() . И проверьте, существует ли опция с помощью get_option() . Если эта опция присутствует в базе данных, скрипт ничего не сделает.

Чтобы снова запустить скрипт, вы можете просто изменить имя параметра на post_is_published_02 или на любое другое.

Внутри условия if() вы можете увидеть, как мы определяем содержимое сообщения в первом блоке. И нам нужно подготовить время и дату в соответствии с требованиями WordPress.

Наконец, функция, отвечающая за публикацию сообщений, — это wp_insert_post() , которая прикрепляет все предыдущие данные, объявленные в функции.

публиковать пост программно

Как публиковать страницы

Программная публикация страниц немного проще. В этом скрипте у нас нет опции базы данных, чтобы проверить, была ли уже опубликована страница.

Поскольку функции страниц отличаются от функций постов, а функции WordPress для постов и страниц отличаются, мы можем использовать get_page_by_title() , чтобы проверить, публиковали ли мы ранее страницу с таким же заголовком. А затем мы вставляем информацию о странице, такую ​​как автор, заголовок, имя и так далее.

Используйте следующий скрипт для публикации страницы на вашем сайте WordPress:

 add_action('admin_init', 'QuadLayers_publish_page');

функция QuadLayers_publish_page(){
	$check_page_exist = get_page_by_title('Страница опубликована программно', 'ОБЪЕКТ', 'страница');
	если (пусто ($ check_page_exist)) {
		$page_id = wp_insert_post(
			множество(
			'comment_status' => 'закрыть',
			'ping_status' => 'закрыть',
			'автор_записи' => 1,
			'post_title' => ucwords('Страница опубликована программно'),
			'post_name' => strtolower(str_replace(' ', '-', trim('Страница опубликована программно'))),
			'post_status' => 'опубликовать',
			'post_content' => '<p>Это содержимое страницы, здесь разрешены html-теги</p>', 
                        'post_type' => 'страница', 'post_parent' => 'id_of_the_parent_page_if_it_available' ) ); 
        } 
} 

опубликовать страницу программно

Вывод

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

Несмотря на то, что в WordPress вы можете легко создавать страницы и записи с помощью встроенного редактора, научиться делать это с помощью небольшого количества кода может быть полезно в некоторых ситуациях для автоматизации процесса публикации в соответствии с конкретными требованиями. Если это ваш случай, изучение того, как программно создавать сообщения и страницы, может сделать вашу жизнь проще.

В этом руководстве мы увидели, как создавать сообщения и страницы, а также различия в сценариях. Мы рекомендуем вам взять эти сценарии за основу и настроить их для своего сайта.

Пробовали ли вы создавать посты и страницы с небольшим количеством кода? Это сработало, как вы ожидали? Дайте нам знать в комментариях ниже!

Если вам понравился этот пост, вас также могут заинтересовать:

  • Как перенаправить страницу WordPress
  • Как преобразовать тип записи в WordPress
  • Руководство по программному созданию пользовательского типа записи WordPress