使用Woocommerce中URL的短代码按sku首字符获取产品ID

时间:2018-08-23 11:25:57

标签: php sql wordpress woocommerce shortcode

我有多种产品,其SKU名称如AL-888,A-2323,AL-etrere。 我想根据此sku名称的前两个词查找产品。

我正在为此目的创建简码,但无法使其正常工作。

任何帮助都应得到赞赏。

此简码的代码:

 function all_state_list_function(){

   $name = $_GET['sku']; //this give sku value from url like Al:2323

   echo $name;

  $args = array( 
      'post_type'       => 'product', 
      'posts_per_page'  => -1, 
      'orderby'         => 'name',
      'order'           => 'DESC',
      'meta_query' => array(
         'relation' => 'AND',
         array(
            'key'     => 'free_form',
            'value'   => '1',
         ),
         array(
            'key'     => '_sku',
            'value'   => $name.'-%',
            'compare' => 'LIKE',
         ),
      ),
   );

   $loop = new WP_Query( $args );

   while ( $loop->have_posts() ) : $loop->the_post(); 

      $product_id = get_the_ID(); 
      echo $product_id;

   endwhile;

   wp_reset_query(); 

}
add_shortcode( 'all_state_list_shortcode', 'all_state_list_function' );

1 个答案:

答案 0 :(得分:1)

根据具有SQL查询的第一个版本代码,这是使用URL的GET方法从第一个SKU字符值获取产品ID的正确方法:

vi .git/info/exclude

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。