2017-01-11 8 views
0

Я только начал работать над проектом с wordpress. И мне интересно, что лучше показать группу столбцов, подобную этой (выделено красным цветом) enter image description hereЛучший способ отображения группы элементов в wordpress

на странице (публикации). У меня есть требование, чтобы человек, создавший сообщение, мог вставлять столбцы по умолчанию с другим текстом и заголовком. Я пробовал shortcode, но кажется слишком сложным. Я хочу что-то вроде формы с полями ввода, которые будут генерировать столбцы. Спасибо

ответ

0

Я решаю эту проблему с пользовательскими типами сообщений и коротким кодом.

Плагины (опционально - вы можете передать код всё)

  • Пользовательские почтовые типы и пользовательские поля создателя - WCK
  • Интуитивный заказ Сообщение Заказать

Создайте свой собственный тип записи и поля. Используйте интуитивный пользовательский почтовый заказ, чтобы пользователи могли изменять порядок сообщений.

Адаптировать шаблон SHORTCODE, чтобы соответствовать код и требования:

add_shortcode('cpt-list', 'jpro_cpt_list'); 

function jpro_cpt_list() { 

    $args = array ( 
     'post_type' => array('cpt'), 
     'posts_per_page' => '-1', 
     'orderby' => 'menu_order', 
     'order' => 'ASC' 
    ); 
    $query = new WP_Query($args); 

    $cpt_list = '<div class="jpro-cpt cpt-list container">';  

    if ($query->have_posts()) {         
     while ($query->have_posts()) { 
      $query->the_post(); 

      $post = get_post($id); 
      $postID = $post->ID; 

      $image = get_the_post_thumbnail($postID, 'medium', array('class' => 'aligncenter')); 
      $name = get_the_title($postID); 
      $bio = apply_filters('the_content', $post->post_content); 


      if(!empty($image)){ 
       $output_image = '<div class="cpt-list image">'.$image.'</div>'; 
      } else { 
       $output_image = ''; 
      } 

      if(!empty($name)){ 
       $output_name ='<h3 class="cpt-name cpt-list">'.$name.'</h3>'; 
      } else { 
       $output_name = ''; 
      } 

      if(!empty($bio)){ 
       $output_bio ='<div class="cpt-bio cpt-list">'.$bio.'</div>'; 
      } else { 
       $output_bio = ''; 
      } 

       $cpt_list .= '<section class="jpro-cpt cpt-list columnClass">'; 
       $cpt_list .= $output_image; 
       $cpt_list .= $output_name; 
       $cpt_list .= $output_bio;    
       $cpt_list .= '</section>'; 

     } 
    } else { 
     $cpt_list .='<p>Ooops! No cpt Found.</p>'; 
    } 

    $cpt_list .='</div>';  
    wp_reset_postdata(); 
    return $cpt_list; 

}