Sc0undRel
@Sc0undRel

Как сделать выборку статей Wordpress с фильтром?

Подскажите, пожалуйста, как в шаблоне WP вывести
список последних 3 статей из категории "cat1" AND metka != "metka1"

А В ИДЕАЛЕ мне нужен такой шорткод
  • Вопрос задан
  • 127 просмотров
Пригласить эксперта
Ответы на вопрос 2
algreenzer
@algreenzer
Я в этом шарю
Что-то в 3 часа ночи у меня голова не варит. Есть над чем поработать. Тест в WP меня не удовлетворил, но цикл работает. Набросал вот так пока что:
function last_posts__func( $atts ) {
    $atts = shortcode_atts( array(
	    'id' => '1', //ID категории по умолчанию 1
	    'list' => '3', //Количество постов по умолчанию 3
	    'tag' => '1', //ID исключающего тега по умолчанию 1
	    	   	   //Можно использовать только id, для slug используйте tag_slug__in
	    'before' => '<div class="last__post">',
	    'after' => '</div>',
	    'before_h' => '<h3>',
	    'after_h' => '</h3>'
    ), $atts );
    $args = array(
	    'category__in' => $id,
	    'tag__not_in' => $tag,
	    'posts_per_page' => $list
    );
    $query = new WP_Query($args); 
	    while( $query->have_posts() ){ $query->the_post();
		    $before;
		    $before_h;
		    the_title();  // заголовок
		    $after_h;
		    the_content();  // текст записи в стандартном выводе
		    $after;
	     }	wp_reset_postdata(); // сбрасываем переменную $query
    }		   

    return $query;
}
add_shortcode('last_post', 'last_posts__func');


Для использования необходимо весь код скопировать и вставить в конец файла functions.php шаблона темы.

Пример Shortcode
[last_post id="1" list="3" tag="58"]

Кодекс query_posts()
Качественный перевод

Пока не претендую на "решение", но если натолкну на нужные мысли, может быть тем самым помогу.
Ответ написан
Комментировать
link_web
@link_web
Magento, Laravel, Zend, Shopify, Prestashop, WP
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы