在替换SQL中包含帖子标题wordpress

时间:2018-08-10 14:42:45

标签: php sql wordpress phpmyadmin

我需要与此类似的东西:

$titulo = get_the_title( $post_id );
update wp_posts set post_content =
replace(post_content,'>Episódio','>$titulo Episódio');

我知道此功能是错误的,但这是一种例证我需要的方式。 我需要获取标题wordpress并与SQL replace函数一起使用

1 个答案:

答案 0 :(得分:0)

首先尝试

备份数据库。将此添加到主题的“ functions.php”中,仅运行一次并删除。请注意,这会将所有出现的“ Episodio”替换为“ [post title] Episodio”。保持FTP可用,因为在删除此代码之前您可能无法访问'functions.php'。

<?php
function replace_string()
{
    global $wpdb;
    $table_name = $wpdb->prefix . "posts";

    $results = $wpdb->get_results ( "SELECT *  FROM  $table_name  ORDER BY ID" );
    foreach ( $results as $postobj )
    {
        $post_content = str_replace( 'Episodio', $postobj->post_title.' Episodio', $postobj->post_content);

        $selectd = "UPDATE {$table_name} SET `post_content` = '".$post_content."' WHERE ID='".$postobj->ID."'";
        $wpdb->get_results($selectd);
    }
    die();
}
add_action( 'after_setup_theme', 'replace_string' );
?>