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

Краткое предисловие или о чем вообще речь

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

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

<?php
/*
Plugin Name: Page Creator Example
Plugin URI: http://druweb.ru/wordpress-page-creator.html
Description: Пример программной генерации страницы.
Author URI: http://druweb.ru
Author: DruWeb.
Version: 1.0.0
*/

$pce_name = "Page Creator Example";
    
function pce_code_add_admin() {
  global $pce_name;
  add_options_page(__('Settings'), $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>'.__('Settings').': '.$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 __('Add New Page'); ?>" />
      </div>
    </form>
</div><?php
}

add_action('admin_menu', 'pce_code_add_admin');

?>

Небольшие примечания плюс итоги

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

Финальные аккорды нашей пьесы

WordPress генератор страниц

 



Музей миниатюры в Ордино Ордино tui.ru. . land rover x9 flip ip67 https://land-rover.pro/land-rover-x9-flip.html.

© 2012-2014 Druweb.ru. Вы можете спокойно копировать любые материалы сайта только при наличии обратной ссылки.