添加了“字数”管理列后,我使用this 函数从堆栈上的其他位置重新保存所有帖子,从而填充字数(wordcount函数在帖子保存时计算)。
在一个几乎没有公共流量的专用服务器上,只有几百篇文章/页面,我想我可以\'numberposts\' => -1\'
并立即更新。
似乎没有,因为这样做会让机器感到紧张,需要快速“我现在该怎么办?”调用支持-谁报告说“有许多Apache子进程正在运行,导致服务器的平均负载达到120%”,并已禁用wp-cron.php
.
我已经注释掉了这个函数,所以假设一旦启动,这些过程就会在自动引发的熔毁中继续。(也许不是——我并不假装理解这一点,我很乐意接受教育。)
三个问题:
我可以安全地重新启用wp-cron.php
?下次我想用这个的时候,我不应该用\'numberposts\'
=> -1\'
. 也许坚持这样\'numberposts\' => 10\'
?是什么让服务器感到不安?是字数不够,还是仅仅节省了200个帖子来自的字数代码this question 如下所示:
add_action(\'save_post\', function($post_id, $post, $update) {
$word_count = explode(" ", strip_shortcodes($post->post_content));
update_post_meta($post_id, \'_wordcount\', count($word_count));
}, 10, 3);
add_filter(\'manage_posts_columns\', function($columns){
$columns[\'wordcount\'] = \'Word count\';
return $columns;
});
add_action(\'manage_posts_custom_column\', function($name) {
global $post;
if($wordcount === \'\')
$wordcount = \'not counted\';
if($name === \'wordcount\')
echo $wordcount;
});
更新后的第二天。。。
为了响应请求,我添加了我最初链接的“更新所有帖子”代码。
function example_hide(){
$my_posts = get_posts( array(\'post_type\' => \'post\', \'numberposts\' => -1 ) );
foreach ( $my_posts as $my_post ):
wp_update_post( $my_post );
endforeach;
}
add_action(\'init\',\'example_hide\');
我第一次用“numberposts”=>10运行更新,它在几秒钟内完成-因此我决定切换到-1。