一次更新所有发布的帖子

时间:2018-11-01 作者:user142553

我知道这个问题已经被问过好几次了,但我找不到一个合适的答案。

我需要运行我所有的帖子并更新它们,如->转到编辑屏幕a按更新-因为自定义字段值的一些值已自动更新。

是否有自动执行此操作的方法?

跑步wp_update_post() etc.不会这样做。批量编辑更新也不适用。

任何想法都将不胜感激。

谢谢,D。

1 个回复
SO网友:Gavin Simpson

我更愿意把这作为一个评论,但空间不允许它如此抱歉。这可能会帮助你,而不是一个答案。我使用的是“产品”,但也可以是“发布”。

function update_all()
{
    $args = array(
        \'post_type\' => \'product\',
        \'posts_per_page\' => -1,
    );
    $products_array = get_posts($args);
    if (!empty($products_array))
    {
        foreach ($products_array as $product)
        {
            echo "product : " . $product->ID;
            //Update whatever here, eg wp_update_post($product->id,$error);

        }
    }
    echo "</pre>";
}
由于您拥有循环中每个产品的产品id,因此可以获取该产品的任何元或自定义值,并对其进行更新。例如,我用它来批量更新价格。显然,您只想不时地运行它,所以我在代码中对它进行了注释。您当然可以将其作为cron运行。我有点不清楚你想更新什么。在我看来,这只是发布日期,您可以循环执行。

我不明白为什么这个循环中的wp\\u update\\u post不会这样做。也许您需要启用在运行时显示错误。

结束

相关推荐

Replace domain in database

我的网站受到攻击,所以基本上所有的核心php文件都已损坏。只剩下数据库。现在我在本地主机中进行了尝试。如果我想从这个数据库恢复我的站点,域名是我唯一需要替换字符串的东西吗</我找到了这个教程-Replace string in database - 更改所有表中的域字符串,但几乎不知道将其放入何处以及如何在wordpress中触发它