在 Woocommerce 上的 SQL 查询中获取产品的目录可见性

Get the catalog visibility for a product in a SQL query on Woocommerce

我知道,听起来很简单,但我不明白 运行:我如何通过 SQL 通过他的 ID select 产品的可见性?

这是我的:

global $wpdb;
$result = $wpdb->get_col( "SELECT catalog_visibility FROM XXX WHERE product_id = 3" );

以下 SQL 查询将为给定产品 ID 显示如下目录可见性:

$product_id = 37;

$result = $wpdb->get_var( "
    SELECT COUNT(tr.object_id)
    FROM {$wpdb->prefix}terms as t
    JOIN {$wpdb->prefix}term_taxonomy AS tt ON t.term_id = tt.term_id
    JOIN {$wpdb->prefix}term_relationships AS tr ON tt.term_taxonomy_id = tr.term_taxonomy_id
    WHERE t.name = 'exclude-from-catalog'
    AND tr.object_id = $product_id
" );

echo $result; // 0 for visible | 1 for not visible

已测试并有效。

它将给出:

  • 1 从目录中隐藏(商店和档案页面)
  • 0 在目录(商店和档案页面)中可见