Можно ли создать короткий код, который будет запрашивать почту на основе таксономий?

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

Во-первых, я нашел эту статью на digwp.com, которая, как я думал, будет работать отлично. Я не могу заставить его вытаскивать сообщения, основанные на таксономии, – просто post_type. Тип сообщения – «Используемые элементы», и я создал таксономию «Цвет», в которой один из пулей был красным.

[loop the_query="post_type=used-items&color=red&ord=ASC"] 

Я также нашел этот плагин для выполнения запроса по короткому коду, но такая же ситуация с ним не тянет по таксономии.

Мой вопрос Кто-нибудь знает, что я могу сделать, чтобы вытащить сообщения на основе типа / таксономии post (будет использовать несколько запросов) непосредственно со страницы WordPress. Мы хотим иметь возможность быстро запрашивать продукты без необходимости запрограммировать запрос в шаблон страницы для каждого возможного варианта.

Solutions Collecting From Web of "Можно ли создать короткий код, который будет запрашивать почту на основе таксономий?"

вот простой короткий код, который может обрабатывать таксономии, типы сообщений и любой другой параметр, который принимает WP_Query:

 add_shortcode('posts','posts_shortcode_handler'); function posts_shortcode_handler($atts, $content){ extract(shortcode_atts(array( 'posts_per_page' => '5', ), $atts)); global $post; $temp = $post; $posts = new WP_Query($atts); $retVal = ''; if ($posts->have_posts()){ while ($posts->have_posts()){ $posts->the_post(); // these arguments will be available from inside $content $parameters = array( 'PERMALINK' => get_permalink(), 'TITLE' => get_the_title(), 'CONTENT' => get_the_content(), 'CATEGORIES' => get_the_category_list(', '), 'THUMBNAIL' => get_the_post_thumbnail() ); $finds = $replaces = array(); foreach($parameters as $find => $replace){ $finds[] = '{'.$find.'}'; $replaces[] = $replace; } $retVal .= str_replace($finds, $replaces, $content); } } wp_reset_query(); $post = $temp; return $retVal; } 

Применение:

 [posts post_type="page" posts_per_page=5 taxonomy_name="taxonomy_term"] <h5><a href="{PERMALINK}">{TITLE}</a></h5> <div>{THUMBNAIL} <br />{CONTENT}</div> [/posts] 

замените страницу на ваше имя типа сообщения, имя таксономии с вашим именем таксономии и taxonomy_term с таксономическим термином