Рубрика | Функции из жизни RSS-лента этой рубрики

Вывести случайный пост через шорткод WordPress

Здравствуйте дорогой посетитель!

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

Я уже почти год занимаюсь различной разработкой на WordPress под заказ (грубо говоря, это фриланс в нише WordPress, но без использования фриланс-площадок). За это время, по примерным подсчетам, успешно завершил около 30-40 разнообразных проектов под заказ для разных людей, также приобрел некоторые интересные знакомства, нашел тех, кто занимается аналогичной деятельностью, записал массу интересных идей и некоторые из них успел реализовать. А еще отсидел около 17 000 (!) часов за компьютером, из которых ~70% времени писал код или отлаживал его.

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

Как вывести случайную запись (пост) в WordPress

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

Файл с функциями можно найти так: Админка - Внешний вид - Редактор - справа в списке - Функции темы (functions.php)

Вот код функции для вставки: (пояснения ниже, после кода)

function gb_rand_post()
{
	$posts = array( 54, 59, 61, 64 );
	$post = get_post( $posts[ mt_rand( 0, count( $posts ) - 1 ) ] );
	$result = '';

	if( !is_null( $post ) )
	{
		$result .= '<div class="gb_rand_post">';
		$result .= '';
		$result .= '<h4>' . $post->post_title . '</h4>';
		$result .= '<div>' . $post->post_content . '</div>';
		$result .= '</div>';
	}

	return $result;
}
add_shortcode('gb_random_post','gb_rand_post');

!Важно: В коде выше, в выделенной строке, вам нужно указать СВОИ номера записей или страниц.

Самый простой способ узнать номер (ID) записи или страницы на вашем сайте, это сделать вот так:

вывести случайную запись wordpress

Функция gb_rand_post, описанная выше, добавляет шорткод (от англ. shortcode - "короткий код") - [gb_random_post] в арсенал шорткодов вашего сайта. Это значит, что вы можете вставлять этот шорткод в страницы, записи, виджеты сайдбара (боковой колонки/колонок сайта) и даже в любые другие файлы-составляющие вашей темы, например header.php или footer.php.

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

Если у вас что-то не получается и вы долго над этим "паритесь", то, пожалуйста, не стесняйтесь, пишите ниже в комментариях, и я постараюсь вам помочь. Возможно, даже сделаю кое-что за вас и вас научу!

Успехов в освоении широт WordPress!

Богдан Григорук