2015-06-26 7 views
3

Так я создаю плагин, который использует пользовательские типы почтовых и я хочу, чтобы создать пользовательский макет/UIWordPress таможенного пост макет админ типа страница

Я знаю мету коробки, но я считаю, что это не путь вперед ,

В настоящее время я использую это:

add_action('edit_form_advanced', 'my_add_to_core'); 

function my_add_to_core() { 
    global $post; 
    if ($post->post_type == 'my_post_type') { 

     $tabs = [ 
      'General', 
      'Settings', 
      'Extras' 
     ]; 

     ?> 
      <div class="my-container"> 
       <div class="tab-group"> 
        <nav> 
         <ul> 
          <?php $i = 0; foreach ($tabs as $tab) { ?> 
           <?php 
            $i++; 
            $title = $tab; 
            $slug = sf_safestring($tab); 
            $classes = ''; 
            if ($i == 1) $classes .= 'active'; 
           ?> 
           <li class="<?= $classes; ?>"><a href="#<?= $slug; ?>"><?= $title; ?></a></li> 
          <?php } ?> 
         </ul> 
        </nav> 
       </div> 
       <div class="tabs"> 
        <?php $i = 0; foreach ($tabs as $tab) { ?> 
         <?php 
          $i++; 
          $title = $tab; 
          $slug = sf_safestring($tab); 
          $classes = 'tab tab_'.$slug; 
          if ($i == 1) $classes .= ' active'; 
         ?> 
         <div class="<?= $classes; ?>"> 
          <h3><?= $title; ?></h3> 
         </div> 
        <?php } ?> 
       </div> 
      </div> 
     <?php 
    } 
} 

Это делает то, что я ожидаю, добавив мой HTML в макет основной страницы.

Heres Выведенный расположение:

Out putted html

Но я считаю, что это не правильный способ сделать это. Он чувствует себя немного взломанным.

Может ли кто-нибудь посоветовать?

+0

Вы можете скопировать HTML из DOM-проводника. Во-вторых, существует [WordPress Exchange] (http://wordpress.stackexchange.com/). – psycotik

ответ

0

Пользовательские метаботы - это правильный способ настройки макетов для пользовательских типов сообщений.

Мета-боксы полностью поддерживаются портативными группами контента. Они имеют множество предварительно разработанных стилей, которые вы можете использовать, просто проверяя и копируя разные имена классов из основных мета-полей. Конечные пользователи могут также реорганизовать мета-поля, если они не выложены так, как они удобны в работе. Кроме того, из раскрывающегося списка экранов люди могут включать и отключать видимость каждого мета-поля. Вы также можете запрограммировать местоположения по умолчанию для каждого мета-поля, чтобы «начать с».

Если вы хотите сделать что-то немного быстрее для разработки, вы можете использовать фреймворк, который очень мощный, популярный и обычно используется в сообществе WordPress. Его называют ACF или Расширенные пользовательские поля. Он может помочь вам создать свои собственные мета-поля для надёжного CPT-процесса.

http://www.advancedcustomfields.com/

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

+0

Благодарим вас за четкий ответ, но мы обнаруживаем, что мета-боксы очень ограничены тем, что мы намереваемся достичь. Хотя ACF - это потрясающий плагин (я использую ежедневно в большинстве проектов), это не то, что мне нужно. Как я уже упоминал в своем вопросе, я создаю плагин, и использование ACF для обработки бэкэнд - это не лучшая практика, так как мой плагин затем потребует установки ACF. –

+0

Фактически ACF является портативным, в нем они задокументировали, как включить ACF в качестве переносного стабильного модуля вашего кода. Он не будет обновляться, как обычный плагин, но он будет продолжать работать так же, как и в тот день, когда вы его вытащили. Я согласен с вами в том, что мне не нравится идея кода зависимости. Тем не менее, у вас действительно есть только 2 варианта. Создайте собственный код метабокса или используйте библиотеку в качестве зависимости. Что именно ограничивает использование Метабоксов. Вы на самом деле не указали, почему мета-ящики не работают для вас? –

Смежные вопросы