使用Cron通过SQL修改帖子

时间:2011-04-07 作者:Downloadtaky

您好,我需要每天运行两次:

UPDATE wp_posts SET post_content = REPLACE ( post_content, \'[img]\', \'<img src="\' );
UPDATE wp_posts SET post_content = REPLACE ( post_content, \'[IMG]\', \'<img src="\' );
UPDATE wp_posts SET post_content = REPLACE ( post_content, \'[/img]\', \'" />\' );
UPDATE wp_posts SET post_content = REPLACE ( post_content, \'[/IMG]\', \'" />\' );
UPDATE wp_posts SET post_content = REPLACE ( post_content, \'[b]\', \'<strong>\' );
UPDATE wp_posts SET post_content = REPLACE ( post_content, \'[B]\', \'<strong>\' );
UPDATE wp_posts SET post_content = REPLACE ( post_content, \'[/b]\', \'</strong>\' );
UPDATE wp_posts SET post_content = REPLACE ( post_content, \'[/B]\', \'</strong>\' );
怎么能做到呢?我不想手动运行它,也不能每次发布帖子时都这么做,因为我运行的是MU网站,我的作者太懒了,无法将他们的代码从bbCode修改为HTML。我使用的是cPanel,所以如果你教我如何添加CronJob,我可以很容易地添加它。谢谢大家!

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

创建自己的计划有点混乱(因为它们需要持久化并存储在数据库中),但很容易跳到一个一天运行两次的本机计划上。

add_action( \'wp_version_check\', \'my_function\' );

function my_function() {

    //stuff
}
至于运行实际查询,您应该使用$wpdb 为此。

SO网友:AutoBlogged

您可以创建一个包含wp load的php文件。php如下所示:

require_once(wp-load.php\');
global $wpdb;
一旦您这样做了,您就可以访问wordpress中的任何内容,包括数据库对象,这样您就可以使用$wpdb->query()执行查询;

您可以通过cron加载该文件(可能需要通过web服务器wget URL)。

结束