wp_insert_post () - фильтры удаляют содержание сообщения - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь создать страницу после создания продукта Woocommerce, поэтому мне нужно использовать функцию wp_insert_page().

При создании продукта страница создается просто отлично, но post_content фильтруется.

$permalink = $post->post_title .'-landing-page';
$content = 'Start ' .$post->post_content. ' End';
$page = array(
    'post_title' => $post->post_title,
    'post_name' => $permalink,
    'post_content' => $content,
    'post_status' => 'publish',
    'post_author' => $post->post_author,
    'post_type' => 'page',
);

$page_exists = get_page_by_title( $page['post_title'] );

if( $page_exists == null ) {
    $created_page = wp_insert_post( $page );
}

Это код, который я запускаю.Когда страница создается в содержимом страницы, отображается текст Start End, что означает фильтрацию $post->post_content содержимого.

Я уже попробовал некоторые из предложений, которые я нашел в других темах, таких как:

remove_filter('content_save_pre', 'wp_filter_post_kses');
remove_filter('content_filtered_save_pre', 'wp_filter_post_kses');
$created_page = wp_insert_post( $page );
add_filter('content_save_pre', 'wp_filter_post_kses');
add_filter('content_filtered_save_pre', 'wp_filter_post_kses');

, которые я нашел в https://wordpress.stackexchange.com/a/75582/168054

и

remove_all_filters("content_save_pre");
$created_page = wp_insert_post( $page );

, которые я нашел в https://stackoverflow.com/a/21983728/9443416,, но ни один из них не удалил фильтры.

Любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...