【问题标题】:Include post title wordpress in replace SQL在替换 SQL 中包含帖子标题 wordpress
【发布时间】:2018-08-10 14:42:44
【问题描述】:

我需要类似的东西:

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

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

【问题讨论】:

  • 你能解释清楚你要替换什么吗?
  • 创建一个具有正确标题的变量,然后执行查询。您实际上并没有在示例中执行查询
  • 我需要在替换行中包含 wordpress 标题。我不知道这个的正确函数,所以我用 Javascript 举例说明

标签: php sql wordpress phpmyadmin


【解决方案1】:

备份您的数据库,然后再尝试此操作。将此添加到您主题的“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' );
?>

【讨论】:

  • 以上代码将更新数据库中特定帖子的内容 - 你想返回什么?
  • 如果再次刷新页面,可以看到更新后的内容。确保您有正确的“查找”和“替换”字符串。
  • 有几篇文章使用“Episodio”一词。我激活了 Wordpress 错误日志:PHP Notice: Undefined variable: post_id
  • 哦,那么你需要循环 - 我会尽快更新答案。您能否确认该标题是单个帖子标题还是所有人都相同?
  • 好的,个人帖子标题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-19
  • 1970-01-01
  • 1970-01-01
  • 2020-10-01
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多