【问题标题】:Get all product IDs with an empty short description in Woocommerce [closed]在 Woocommerce 中获取所有带有空简短描述的产品 ID [关闭]
【发布时间】:2018-05-15 21:00:37
【问题描述】:

在 Woocommerce 中,我们拥有数千种产品。我们忘记在某些产品上添加简短描述。

如何在不逐一查看每个产品的情况下快速获取所有产品的简短描述?

感谢任何帮助。

【问题讨论】:

  • 欢迎来到 Stack Overflow。请展示您解决此问题的最新非工作尝试。通常,查看代码的修复比阅读其他人的解决方案更有指导意义。见stackoverflow.com/help/how-to-ask
  • 致社区:很抱歉,这个问题不清楚,所问的问题是非常简单和基本的问题。 没有什么复杂和不清楚的。这个问题和答案可能对其他人有用。

标签: php mysql sql wordpress woocommerce


【解决方案1】:

这可以通过在 phpMyAdmin 中进行直接且非常简单的 SQL 查询来解决:

SELECT * FROM  wp_posts WHERE post_excerpt = ''
AND post_status LIKE 'publish' AND post_type LIKE 'product'

您将获得所有简短描述为空的产品。

或者您可以使用此自定义挂钩函数,该函数将显示此产品 ID 的逗号分隔列表,仅对管理员用户角色可见:

add_action( 'woocommerce_before_main_content', 'get_products_empty_excerpt', 50 );
function get_products_empty_excerpt(){
    if( ! ( current_user_can('edit_products') ) ) return;
    global $wpdb;
    $ids = $wpdb->get_col("
        SELECT ID FROM wp_posts WHERE post_excerpt = ''
        AND post_status LIKE 'publish' AND post_type LIKE 'product'
    ");
    if( sizeof($ids) > 0 )
        return '<p>'.implode(', ', $ids).'</p>';
}

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

【讨论】:

  • 我想说明这一行缺少括号: if( ! ( current_user_can('edit_products') ) return; 应该是 if( ! ( current_user_can('edit_products') ) )返回;
  • @XenonofArcticus 谢谢……我已经编辑了这个答案:)
猜你喜欢
  • 2020-10-21
  • 1970-01-01
  • 1970-01-01
  • 2016-04-14
  • 1970-01-01
  • 2018-08-14
  • 1970-01-01
  • 2021-04-24
  • 2021-06-22
相关资源
最近更新 更多