Отображение различной информации о настраиваемом типе сообщений

Я разрабатываю сайт недвижимости для клиента, и я немного борюсь с ним. Я создал собственный тип сообщения, называемый «Свойство». Недвижимость может быть продана и / или в аренду. Два разных пункта меню на сайте «Свойства на продажу» и «Свойства на аренде» показывают список свойств, находящихся в продаже или в аренду.

Когда пользователь нажимает на свойство в списке «Свойства в продаже», мне нужно показать некоторые данные, и когда пользователь нажимает на свойство в списке «Свойства в аренду», мне нужно показать несколько разные данные. В принципе, было бы два немного разных шаблона одного свойства. Мой вопрос: как я могу это сделать? Нужно ли добавлять параметр в URL-адрес свойства (например, www.domain.com/property/ID/?ansale и www.domain.com/property/ID/?onrent).

Любая помощь будет оценена по достоинству.

Solutions Collecting From Web of "Отображение различной информации о настраиваемом типе сообщений"

Добавьте категории к своим пользовательским сообщениям. Пример:

add_action( 'init', 'create_gallery_taxonomies', 0 ); function create_gallery_taxonomies() { $labels = array( 'name' => _x( 'B&A Categories', 'taxonomy general name' ), 'singular_name' => _x( 'B&A', 'taxonomy singular name' ), 'search_items' => __( 'Search B&A Categories' ), 'all_items' => __( 'All B&A Categories' ), 'parent_item' => __( 'Parent B&A Category' ), 'parent_item_colon' => __( 'Parent B&A Category:' ), 'edit_item' => __( 'Edit B&A Category' ), 'update_item' => __( 'Update B&A Category' ), 'add_new_item' => __( 'Add New B&A Category' ), 'new_item_name' => __( 'New B&A Category Name' ), 'menu_name' => __( 'B&A Categories' ), ); $args = array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'gallery-categories' ), ); register_taxonomy( 'gallery-categories', array( 'gallery_post' ), $args ); } 

Проверьте, что последняя строка, где находится «gallery_post», это будет ваш собственный тип сообщения.

Затем вы можете добавить параметр в url и отобразить только те из своей категории

 $gallery_slug = $_GET['parameter']; $gallery_menu = get_terms('gallery-categories', 'hide_empty=1'); foreach($gallery_menu as $item) { if( $item->slug == $gallery_slug ) { $current_cat = $item; } } if( !$current_cat ) $current_cat = get_term(81, 'gallery-categories'); // DEFAULT CATEGORY TO SHOW $args = array( 'post_type' => 'gallery_post', 'taxonomy' => $current_cat->taxonomy, 'term' => $current_cat->slug, 'posts_per_page' => -1, 'nopaging' => true, ); $query = new WP_Query( $args ); 

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

Я думаю, вы могли бы сделать это с помощью одного шаблона, такого как single-property.php.

Как Санчи рекомендовал, вы хотели бы категории для «продажи» и «аренда».

Вам также нужны пользовательские поля для данных. Плагин Advanced Custom Fields позволяет легко добавлять их. https://wordpress.org/plugins/advanced-custom-fields/ Добавьте все те, которые вам нужны для аренды и продажи. Затем, когда вы или ваш клиент добавите информацию о свойствах на сайт, они выберут подходящую категорию, а затем заполните поля, которые им нужны для этой категории. (Вы можете включить инструкции об этом.)

Затем в своем шаблоне используйте что-то вроде этого, чтобы вызвать контент для полей. Это может вызвать в поле «цена».

 <?php if(get_field('price')) { echo '<p>' . get_field('price') . '</p>'; } ?> 

Таким образом, должны отображаться только поля, которые были заполнены. Дополнительные пользовательские поля предоставляют дополнительную документацию по адресу http://www.advancedcustomfields.com.

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

Файл шаблона, используемый для рендеринга одной страницы.

  1. single- {post_type} .php. Если тип сообщения был продуктом, WordPress будет искать single-product.php.

http://codex.wordpress.org/Template_Hierarchy#Single_Post_display

Это должно быть все, что вам нужно для загрузки ваших «немного разных шаблонов свойств»