Intereting Posts

Как запрашивать содержимое определенного пользовательского типа сообщений?

Я создал пользовательский тип сообщения под названием «Single Neighborhood», в нем у меня есть 5 настраиваемых полей:

  1. Цвет фона (выбор цвета)
  2. Фоновое изображение (загрузка изображения)
  3. Последние новости (редактор WYSIWYG для отображения внешних ссылок на новости)
  4. Локальные события (WYSIWYG для отображения других каналов RSS)
  5. Списки (WYSIWYG, чтобы выписать пользовательский абзац)
  6. Меню таксономии (для выбора настраиваемого района, такого как «Adams Morgan»)

Все эти поля будут находиться в разных div на всей странице шаблона, поэтому было бы лучше всего вставить все div в цикле while и просто использовать цикл или было бы несколько циклов лучше?

Наконец, как я могу ссылаться на таксономию в запросе? Я имею в виду, что я использую один и тот же шаблон для одного района для 27 районов, но я не могу ссылаться только на одну таксономию в шаблоне, потому что тогда он просто вытащил контент для этого соседства, есть ли динамический способ для WordPress знать, что контент, из какого района вытащить, используя какую ссылку, из которой пользователь пришел?

Я занимаюсь этой проблемой в течение 4 дней, и я не могу понять, какой подход лучше всего подходит.

Выполнение чего-то подобного потребует пользовательских функций, условий внутри цикла, чтобы это исправить?

Если кто-то сделал, например, сайт недвижимости или сайт с иерархической структурой «Окрестности»> «Соседства»> «Места»> «Место»> «Подстраницы» этого места, для которых требуется специальный контент для (в том же месте каждой страницы) конкретных страниц, пожалуйста, сообщите.

Благодарю.

Solutions Collecting From Web of "Как запрашивать содержимое определенного пользовательского типа сообщений?"

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

<? get_header(); ?> <? if(have_posts()): while(have_posts()): the_post(); ?> <!--Your content goes here--> <? endwhile; endif; ?> <? get_footer(); ?> 

Что касается пользовательских таксономий, вы можете захотеть ознакомиться с шаблонами пользовательских таксономических страниц: http://codex.wordpress.org/Template_Hierarchy#Custom_Taxonomies_display

Вы можете создать такой шаблон, как taxonomy-neighbour.php, а затем включить цикл и все функции, необходимые для отображения всех ваших записей в каждом районе. Затем этот шаблон автоматически отображает информацию о том, какой район был запрошен, что позволяет вам напрямую ссылаться на такие страницы, как yoursite.com/compton или yoursite.com/brooklyn. Эта функциональность очень похожа на то, как ваша единственная страница используется для отображения любого дома.

Вот шаблон, который я создал для моей главной страницы Соседства, которая будет ссылаться на все другие окрестности на сайте. Вы можете спросить, почему я просто не выбросил навигатор? Слишком много кварталов.

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

То, что я неудачно потерпел неудачу, находил способ добавить новые окрестности в список и отсортировать их с задней стороны, поэтому мне пришлось добавить свои окрестности в алфавитном порядке в порядке убывания. Смысл, если я попытался войти в новые окрестности из кварталов А-Я с «А», был бы внизу списка и «Z» наверху (я попробовал order = ASC) на моей странице шаблона и не имел никакого эффекта, не уверен почему еще.

Излишне говорить, что я вошел в свои кварталы в обратном алфавитном порядке, я знаю, довольно слабый. Но эй это работает!

 <?php /* Template Name: Neighborhoods Main Page */ get_header( 'internal' );?> <div class="container-space"></div> <div class="container-main"> <?php $args = array( 'post_type' => 'neighborhood' ); $the_query = new WP_Query( $args ); ?> <ol class="col-neigh-title neighborhood"> <?php if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <li><a href="<?php the_permalink(); ?>"><?php the_field( 'neighborhood_name' ); ?></a></li> <?php endwhile; else: ?> </ol> <p>There are no posts or pages here.</p> <?php endif; ?> </div> <?php get_footer(); ?> 

Затем на моей странице single-neighbour.php я сделал это так:

 <?php get_header( 'neighborhood' );?> <?php $bg = get_field( 'bg_img' ); ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div class="bg-img-default" style="background-image: url(<?=$bg?>); "></div> <div class="container-main"> <!--COL 1--> <div class="col-block"> <h2><span class="bold">latest</span> <span class="font-condensed">news</span></h2> <?php the_field( 'latest_news' ); ?> </div> <!--COL 2--> <div class="col-block"> <h2><span class="bold">local</span> <span class="font-condensed">events</span></h2> <?php the_field( 'local_events' ); ?> </div> <!--COL 3--> <div class="col-block-last"> <h2><span class="bold">listings</span></h2> <?php the_field( 'listings' ); ?> <a href="/search-listings/">Search Listings</a> </div> <?php endwhile; endif; ?> <?php get_template_part( 'content', 'slider' ); ?> </div> <?php get_footer(); ?> 

Обратите внимание на noobs: Первоначальная ошибка в моих путях заключалась в том, что я предположил, что сообщения одного типа (любой категории, действительно «Окрестности», «Города», «Автомобили», «Операционные системы») также должны были быть шаблонами и что я буду иметь для создания «страницы» для каждого района (в моем случае), назначьте ему шаблон для визуализации страницы по-разному, а затем ссылку на эту страницу с моей главной страницы «Окрестности», а некоторые – как надеяться, что она будет знать, чтобы захватить этот пользовательский контент из сообщения типа, я знаю довольно глупо.

По крайней мере, я понял, что вы можете добавить все поля, связанные с окружением, в один тип пользовательской публикации и вызвать их из разных шаблонов. Смысл, в моем случае «Имя» «Фоновое изображение» «Цвет фона» «Контент-столбец1» «Содержимое Col2» и т. Д. Все могут быть введены пользователем из бэкэнд из одного места, но затем вы можете вызывать разные фрагменты этого контента в пределах разных шаблонов. Таким образом, в моем примере выше я назвал настраиваемое поле «local_name» для одной страницы (которое связано с одним соседством), а затем оставшееся содержимое было включено на странице с одним соседством. Это может быть немаловажным для многих людей здесь, но это был изюминкой моей недели :), когда я его обнаружил.

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

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

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