Я пытаюсь создать страницу после создания продукта 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,, но ни один из них не удалил фильтры.
Любая помощь приветствуется.