如何在WordPress中将查询sql转换为短代码?

时间:2015-04-16 03:23:03

标签: php wordpress-plugin woocommerce wordpress

我想制作一个像这样的短代码[myshorcode:2:drinks],以及查询争论者我设法得到以下查询,向我展示了某种分类法的2个产品

PHP WP_Query:

$query = array (
  'paged' => 1,
  'posts_per_page' => '2',
  'offset' => 0,
  'post_status' => 'publish',
  'ignore_sticky_posts' => 0,
  'orderby' => 'date',
  'order' => 'DESC',
  'tax_query' => 
  array (
    0 => 
    array (
      'taxonomy' => 'product_brand',
      'field' => 'id',
      'terms' => 
      array (
        0 => 30,
      ),
      'operator' => 'IN',
      'include_children' => false,
    ),
  ),
  'post_type' => 
  array (
    'product' => 'product',
  ),
);

这个查询效果很好但是没有给我选择分类的名称,只是id。

这就是为什么我想在我放[product:2:name-taxonomy]或[product:name-taxonomy]的情况下制作一个短代码,然后我将其保留为2。

感谢您的意见和帮助。

1 个答案:

答案 0 :(得分:0)

根据WordPress中的标准方法,输入短代码属性如下:

[productlist no_of_products="2" producttax="name-taxonomy"]

以下是Shortcode功能的代码:

function productlist_func( $atts ) {
    $a = shortcode_atts( array(
        'no_of_products' => '2',
        'producttax' => 'name-taxonomy',
    ), $atts );

    //write Query logic here
}
add_shortcode( 'productlist', 'productlist_func' );

属性将转换为关联数组,如下所示,作为$ atts参数传递给处理函数:

array( 'no_of_products' => '2', 'producttax' => 'name-taxonomy' )

check Shortcode API on WordPress Codex for more details.