如何为WooCommerce创建自定义SQL查询

时间:2016-02-25 作者:Stew

你好,我有一个电子商务与Wordpress+Woocommerce,就在昨天一个黑客男孩或。。。我不知道把woocommerce的所有产品都扔进了垃圾桶。。。。有很多产品,默认wordpress批量编辑无法正常工作,

因此,我想为edit wp\\u posts table和post\\u status创建一个自定义slq查询,从垃圾箱到发布,我可以怎么做,请提供帮助?

提前谢谢大家

2 个回复
最合适的回答,由SO网友:Sumit 整理而成

我不擅长SQL,但我相信这个SQL查询将为您完成这项工作。

UPDATE wp_posts 
SET post_status = \'publish\' 
WHERE post_type = \'product\' AND post_status = \'trash\';
如果不是默认值,请记住更改WP数据库前缀wp.

SO网友:Mayeenul Islam

将文件保存到插件目录中,然后从管理面板激活插件。激活后,将查询所有WooCommerce产品post_status trash 并用状态更新它们publish.

Please test the plugin first in your end, and then apply to the live site.

<?php
/**
 * Plugin Name: WooCommerce Trash Recovery
 * Plugin URI:  http://wordpress.stackexchange.com/q/218859/22728
 */

/**
 * Trash retrival for WooCommerce
 * @return void
 */
function wpse218859_trash_to_publish_on_activation() {
    $prod_query = new WP_Query(
            array(
                    \'post_type\'         => \'product\',
                    \'post_status\'       => \'trash\',
                    \'posts_per_page\'    => -1
                )
        );

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

        wp_update_post(array(
            \'ID\'            =>  get_the_ID(),
            \'post_status\'   =>  \'publish\'
        ));

    endwhile;
    wp_reset_postdata();
}
register_activation_hook( __FILE__, \'wpse218859_trash_to_publish_on_activation\' );

Deactivate and delete it, after completion.

相关推荐

将wp_Query替换为wp_User_Query

我在插件中制作了一些订阅者档案和单曲(个人资料页),其中我还包括了一个“用户单曲”模板,通过template_include. 不过,我正在尝试从插件中删除一些模板,以使其使用主题模板。我用了locate_template( \'single.php\' ) 从活动主题中选择单个模板。我没有使用全局wp_query 在本例中显示我的内容,但页面显示了基于查询默认值的循环(十篇帖子)。我想知道的是,我是否可以完全放弃默认查询,用wp_user_query 我可以将查询到的用户ID输入其中。然后我想筛选the