Как сделать поиск и замену в контенте с помощью 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 уже несколько часов. Все примеры, которые у меня есть, основаны на изменении содержимого при отображении, но это не меняет содержимое В базе данных, только то, что показано.

Author: BSheep, 2016-11-20

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 );
}
 2
Author: Dave Romsey, 2016-11-21 00:12:18