获取具有自定义属性的所有产品

时间:2015-06-29 作者:C.B.

我想做一个自定义查询,以获取所有具有特定属性的产品(在我的示例中为“demo”)。查询我想从中返回什么:

a:5:{s:4:"demo";
a:6:{s:4:"name";
    s:4:"DEMO";
    s:5:"value";
    s:366:"LINK TO DEMO";
    s:8:"position";
    s:1:"0";
    s:10:"is_visible";
    i:0;
    s:12:"is_variation";
    i:0;
    s:11:"is_taxonomy";
    i:0;
}
}

我不知道如何做一个$args获得产品。我希望$args是这样的:

    $args = array ( 
         \'meta_query\' => array( 
             array( 
              \'key\' => \'meta_value\', 
              \'value\' => \'demo\', 
              \'compare\' => \'LIKE\', ), 
           ), 
   );
谢谢!

4 个回复
最合适的回答,由SO网友:C.B. 整理而成

好的,我已经有了!!yuhuuu!

谢谢大家!!

我有这个:

$args = array ( 
     \'post_type\'  => \'product\',
     \'posts_per_page\'  => -1,
     \'meta_query\' => array( 
         array( 
          \'value\' => \'demo\', 
          \'compare\' => \'like\'
         ), 
       ),
     ); 
这至少对我有用

谢谢谢谢!!

顺致敬意,

SO网友:Karun

你写过keymeta_value. 它应该是您的元名称。为自定义字段或元指定的名称。然后使用以下查询。

$args = array ( 
         \'post_type\'  => \'your-post-type\',
         \'posts_per_page\'  => -1,
         \'meta_query\' => array( 
             array( 
              \'key\' => \'demo\', 
              \'value\' => \'\',
              \'compare\' => \'!=\'
             ), 
           ), 
   );
默认情况下compare 设置为=

SO网友:mmm

试试这样的

$args = array(
    "post_type" => "product",
    "meta_query" => array(
        array(
            "key"     => "demo",
            "value" => "abc",
            "compare" => "EXISTS",
        ),
    ),
);
$query = new WP_Query( $args );

SO网友:ssaltman

我知道这是一个很老但很简单的sql,下面是我的解决方案:

获取产品的所有元数据:

SELECT meta_key, meta_value FROM wp_postmeta WHERE wp_postmeta.post_id = 626
获取具有特定元数据的产品

SELECT p.id, p.post_title, m.meta_key, m.meta_value FROM wp_posts p 
INNER JOIN wp_postmeta m ON p.id=m.post_id AND m.meta_key=\'_auction_dates_to\' 
附加以获取特定产品的元数据

AND p.id=626
附加以获取特定的元值

AND m.meta_value=\'today\'

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register