WordPress и программное создание страницы

Краткое предисловие

Если вы хотите, чтобы ваша>тема или плагин (последний вариант предпочтительнее чисто идеологически) самостоятельно создавали новые материалы(несколько страниц), можете использовать приведенный ниже код. Просто добавьте его на свой блог, и вы получите готовый результат.

Код плагина-примера

<?php

/*

Plugin Name: Page Creator

Plugin URI: http://andreyex.ru/wordpress-i-programmnoe-sozdanie-stranicy/

Description: Пример программной генерации страницы.

Author URI: http://andreyex.ru

Author: AndreyEx.

Version: 2.0.0

*/

 

$pce_name = "Page Creator";

     

function pce_code_add_admin() {

  global $pce_name;

  add_options_page(__('Настройки'), $pce_name, 'edit_themes', basename(__FILE__), 'pce_code_to_admin');

}

 

function pce_code_to_admin() {

  global $pce_name;

?>

 

<div class="wrap"><?php

    screen_icon();

    echo '<h2>'.__('Настройки').': '.$pce_name.'</h2>';

    if (isset($_POST['save'])) {

        $np = array(

            'slug' => 'example-gen',

            'title' => 'Заголовок статьи',

            'content' => "Содержимое статьи"

        );

        if ( wp_insert_post( array(

                'post_title' => $np['title'],

                'post_type'    => 'page', // тип записи

                'post_name'     => $np['slug'], // URL, будут совпадения? WordPress сам все исправит.

                'comment_status' => 'closed', // закрыть комментарии

                'ping_status' => 'closed', // запретить пинги

                'post_content' => $np['content'],

                'post_status' => 'publish', // опубликовать статью

                'post_author' => 1, // кто будет автором

                'menu_order' => 0 // положение пункта в меню

            )) > 0 ) :

            echo '<div id="setting-error-settings_updated" class="updated settings-error"><p><b>'.__('OK.').'</b></p></div>';

        endif;

    } ?>

    <form method="post">

      <div class="submit">

          <input name="save" type="submit" class="button-primary" value="<?php echo __('Добавить новую страницу'); ?>" />

      </div>

    </form>

</div><?php

}

 

add_action('admin_menu', 'pce_code_add_admin');

 

?>

 

Небольшое примечания

Собственно, нужный функционал находится между 26 и 41 строчками кода включительно. Функция возвращает 0, если не создается новый пост, иначе получите просто идентификатор записи.

WordPress и программное создание страницы



2016-12-04T01:16:09
Лучшие учебники по Wodpress