Включить заголовок сообщения wordpress в замену sql

Мне нужно что-то похожее на это:

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

Я знаю, что это неправильная функция, но это способ продемонстрировать то, что мне нужно. Мне нужно получить заголовок wordpress и использовать с функцией замены SQL

Можете ли вы четко объяснить, что вы хотите заменить?

Outsource WordPress 10.08.2018 16:45

создать переменную с правильным заголовком и выполнить запрос. Вы на самом деле не выполняете запрос в своем примере

Chad K 10.08.2018 16:48

Мне нужно включить заголовок wordpress в строку замены. Я не знаю, как правильно это сделать, поэтому я проиллюстрировал это на Javascript.

Alex Siqueira 10.08.2018 16:49
0
3
65
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сделайте резервную копию вашей базы данных, прежде чем пытаться это сделать. Добавьте это в файл functions.php вашей темы, запустить только один раз и удалить. Обратите внимание, что это заменит все вхождения «Episodio» на «[заголовок сообщения] 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' );
?>

Приведенный выше код обновит содержимое конкретного сообщения в базе данных - что вы хотите вернуть?

Outsource WordPress 10.08.2018 20:13

Если вы снова обновите страницу, вы увидите обновленное содержимое. Убедитесь, что у вас есть правильные строки «найти» и «заменить».

Outsource WordPress 10.08.2018 20:17

Есть несколько сообщений с термином "> Episodio". Я активировал журнал ошибок Wordpress: Уведомление PHP: неопределенная переменная: post_id

Alex Siqueira 10.08.2018 20:20

О, тогда вам нужно зацикливаться - я скоро обновлю ответ. Можете ли вы подтвердить, что заголовок будет отдельным заголовком сообщения или одинаковым для всех?

Outsource WordPress 10.08.2018 20:23

Хорошо, индивидуальный заголовок сообщения

Alex Siqueira 10.08.2018 20:24

Проверьте мой обновленный ответ и не пытайтесь, если у вас нет резервной копии базы данных или FTP.

Outsource WordPress 10.08.2018 21:08

Спасибо, ты потрясающий!

Alex Siqueira 10.08.2018 23:43

Другие вопросы по теме