Поддержка Темы и шаблоны опции админ меню для темы

  • добрый день!
    при «создании» темы я добрался до необходимости создания админ меню.
    Мой уровень вы знаете (никакой) поэтому смотрю кто как это сделал. К сожалению, рекомендации Codex понятны с трудом, кроме этого и жук и жаба создают административное меню по разному, даже запихивая всё в functions.php (что не есть хорошо).
    Буду благодарен если подскажете (направите) как создавать админ меню правильно. Пока как самый оптимальный пример увидел
    http://www.cheesetoast.co.uk/add-custom-theme-options-wordpress-admin-menu/
    (через options.php)
    заранее спасибо

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • чем дальше в лес, тем страшнее лесорубы 🙂
    теперь тупо не могу понять логику построения меню

    • прописываю путь в functions.php
      require_once('options.php');
    • добавляю меню в options.php
      <?php
      /** Step 2 (from text above). */
      add_action( 'admin_menu', 'my_plugin_menu' );
      
      /** Step 1. */
      function my_plugin_menu() {
      	add_theme_page( 'My Plugin Options', 'My Plugin', 'manage_options', 'my-unique-identifier', 'my_plugin_options' );
      }
    • далее самое непонятное, если выводить содержание меню внутри функции всё ок

      /** Step 3. */
      function my_plugin_options() {
      	if ( !current_user_can( 'manage_options' ) )  {
      		wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
      	}
      	echo '<div class="wrap">';
      	echo '<p>Here is where the form would go if I actually had options.</p>';
      	echo '</div>';
      }
      ?>

      если же на уже созданной странице меню просто вывести

      <div class="wrap">
      	<p>Here is where the form would go if I actually had options.</p>
      	</div>

      то это расползается по всему сайту
      Где логика и что я пропустил?
      http://codex.wordpress.org/Administration_Menus

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    если же на уже созданной странице меню просто вывести

    Это где? В options.php, но вне функции? options.php у вас подключается всегда, в том числе и на внешней части сайта.

    Выводить форму нужно именно внутри функции, указанной последним параметром в add_theme_page(). Можно вынести форму в отдельный файл и подключать внутри функции с помощью include().

    спасибо за ответ
    да вы всё правильно поняли

    Выводить форму нужно именно внутри функции, указанной последним параметром в add_theme_page()

    о ужас…. непостижимый для моей логики, но с чем мне придётся смириться 🙂
    уже с горем пополам сделал три менюшки для вставки кода рекдамы..
    Лёд тронулся господа 🙂

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «опции админ меню для темы» закрыта для новых ответов.