#php #wordpress #wordpress-shortcode #wordpress-plugin-creation
#php #wordpress (wordpress ) #wordpress-короткий код #wordpress-создание плагина #wordpress
Вопрос:
Я выполнил действие, которое позволяет создавать страницу, если переключатель в настройках установлен. После подтверждения того, что он проверен, он создает страницу, но без добавления шаблона. Как мне заставить мой шаблон работать?
add_action( 'admin_init', 'cart_page' );
function cart_page() {
//Add cart page to website
if ( get_option( 'cart' ) === "checked" AND get_option('cart_exist') === false) {
// IF CART HAS BEEN CHECKED
$new_page_id = wp_insert_post( array(
'post_title' => 'Cart',
'post_type' => 'page',
'post_name' => 'Cart',
'comment_status' => 'closed',
'ping_status' => 'closed',
'post_content' => '',
'post_status' => 'publish',
'post_author' => get_user_by( 'id', 1 )->user_id,
'menu_order' => 0,
// Assign page template
'page_template' => plugins_url('page_templates/cart_template.php', __FILE__ )
) );
wp_insert_post($new_page_id);
update_option( 'cart_exist', true );
}
else if (get_option('cart') === "" AND get_option('cart_exist') === true) {
// IF CUSTOMER DOES NOT WANT CART
update_option( 'cart_exist', false );
}
}
Вот как выглядит моя страница шаблона в плагине.
get_header();
echo do_shortcode( '[cart_portal]' );
get_footer();
?>
Ответ №1:
В моем случае я нашел решение этой простой проблемы. Если мне просто нужно добавить шорткод, я могу добавить его в ‘post_content’. Я все еще хотел бы знать, как добавить шаблон. Но вы можете использовать файл для импорта всего макета, если хотите. Но он не может быть использован с визуальными композиторами.
Смотрите пример ниже…
$new_page_id = array(
'post_title' => 'Cart',
'post_type' => 'page',
'post_name' => 'Cart',
'comment_status' => 'closed',
'ping_status' => 'closed',
'post_content' => '[cart_portal]',
'post_status' => 'publish',
'post_author' => get_user_by( 'id', 1 )->user_id,
'menu_order' => 0,
);
wp_insert_post($new_page_id);