Недавно столкнулся с необходимостью немного переделать один плагин для Wordress CMS, чтобы расширить его функционал.

В системе есть очень удобная фича shortcode, которая позволяет вызывать функции плагина. Мне понадобилось передавать дополнительный параметр в функцию, чтобы выбирать только те посты, которые имеют определенное значение параметра custom fields. Для примера назовем его slide_category.

Рассмотрим такой фрагмент кода:


function my_slider( $atts ) {
	global $post;

	extract( shortcode_atts( array(	'slide_category' => 0 ), $atts, 'slide_category' ) );
	/*
	...
	*/	
	$args = array(
		'post_type'  => 'slide',
		'showposts'  => -1,
		'meta_query' => array(
			array(
				'key'   => 'slide_category',
				'value' => $slide_category,
			)
		)
	);
	$qry = new WP_Query($args);
	/*
	...
	*/

}

/*
...
*/
add_shortcode('mySlider', 'my_slider');

Он позволит выводить определенную категорию слайдов. Чтобы вызвать этот функционал необходимо вставить shortcode такого вида в тело поста:

[mySlider slide_category="1"]