Как сделать поиск и замену в контенте с помощью php
На самом деле я могу показывать контент и изменять контент при отображении публикации. Проблема в том, что я использую импортер RSS, и после импорта я хочу выполнить поиск, заменить и исправить импортированные данные, потому что я знаю, что с ними не так.
<?php
add_action('pmxi_saved_post', 'post_saved', 10, 1);
$my_post = array(
"ID" => $id,
"post_content" => "1",
);
wp_update_post( $my_post );
?>
Это код, который я использую. Проблема в том, что "post_content" не изменяется на значение 1. В основном этот код должен изменить все, что находится в post $id, на значение "1".
Почему это не работает? Я не могу понять это за 2 уже несколько часов. Все примеры, которые у меня есть, основаны на изменении содержимого при отображении, но это не меняет содержимое В базе данных, только то, что показано.
1 answers
Из документации WP All Import действие pmxi_saved_post
принимает один параметр $id
, который является "идентификатором только что созданного сообщения/страницы/пользовательского типа сообщения".
Итак, ваш post_saved()
обратный вызов должен выглядеть так:
add_action('pmxi_saved_post', 'wpse246838_post_saved', 10, 1);
function wpse246838_post_saved( $id ) {
$my_post = array(
"ID" => $id,
"post_content" => "1",
);
wp_update_post( $my_post );
}