Ответы в темах

Просмотр 14 ответов — с 1 по 14 (всего 14)
  • разбираюсь вот параллельно с таксономией)

    Спасибо за участие в обсуждении. Если найду ответ — отпишусь.

    Не понимаю почему при вводе:

    'tax_query' => array(
    		array(
    			'taxonomy' => 'property_contracts',
    			'field' => 'slug',
    			'terms' => 'rent'
    		)
    	)

    страница вообще не грузится, на всех источниках этот код советуют…
    версия ВП у меня 3.8.1

    я же работаю с уже готовой темой, поэтому вывод данных уже существует. Как я понимаю :

    {% if wp.have_posts() %}
            {{ wp_query.the_post() }}
            <div class="properties-{% if wp.aviators_settings_get_value('properties', 'properties', 'type') == 'row' %}rows{% else %}grid{% endif %}">
                <div class="row">
                    {% for property in properties %}
                        {% if wp.aviators_settings_get_value('properties', 'properties', 'type') == 'row' %}
                            {% include 'properties/property-row.twig' %}
                        {% else %}
                            <div class="span3">
                                {% include 'properties/property-box-small.twig' %}
                            </div><!-- /.span3 -->
                        {% endif %}
                    {% endfor %}
                </div><!-- /.row -->
            </div><!-- /.properties-grid -->

    чтобы сделать 3 разных области — нужно будет его скопировать два раза и заменить wp_query.the_post на wp_query1.the_post, wp_query2.the_post, wp_query3.the_post.
    ….верно?

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

    Меня устраивает. Но не работает.
    Мои варианты из этой же серии:

    <?php $query = new WP_Query( array( 'property_contracts' => 'rent' ) ); ?>

    и

    $args = array(
    	'tax_query' => array(
    		array(
    			'taxonomy' => 'property_contracts',
    			'field' => 'slug',
    			'terms' => 'rent'
    		)
    	)
    );
    $query = new WP_Query( $args );

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

    Что имеется ввиду под словом «там»? а то я тут уже много чего накидал))
    Если последний файл с пхп запросом, то потому что документ из которого сделан копипасть называется taxonomy-property_contracts.php
    А еще потому что в админ панели есть возможность добавления типа контракта и вывода всех постов по типу контракта. Адрес на такой запрос:
    /edit-tags.php?taxonomy=property_contracts&post_type=property
    /edit.php?property_contract=sold&post_type=property
    и потому что в теме есть файл пропертис со следующим кодом:

    function aviators_properties_create_taxonomies() {
      $property_contracts_labels = array(
        'name' => __('Contract Types', 'aviators'),
        'singular_name' => __('Contract Type', 'aviators'),
        'search_items' => __('Search Contract Types', 'aviators'),
        'all_items' => __('All Contract Types', 'aviators'),
        'parent_item' => __('Parent Contract Type', 'aviators'),
        'parent_item_colon' => __('Parent Contract Type:', 'aviators'),
        'edit_item' => __('Edit Contract Type', 'aviators'),
        'update_item' => __('Update Contract Type', 'aviators'),
        'add_new_item' => __('Add New Contract Type', 'aviators'),
        'new_item_name' => __('New Contract Type', 'aviators'),
        'menu_name' => __('Contract Type', 'aviators'),
      );
    
      register_taxonomy('property_contracts', 'property', array(
        'labels' => $property_contracts_labels,
        'hierarchical' => TRUE,
        'query_var' => 'property_contract',
        'rewrite' => array('slug' => __('property-contract', 'aviators')),
        'public' => TRUE,
        'show_ui' => TRUE,
      ));

    то что формирует посты на главной странице:

    <div class="span3">
                {% include 'properties/property-box-small.twig' with {'property': post} %}
            </div>

    в частности {‘property’: post}.
    Нужно его переделать , чтобы он брал недвижимость не всю подряд, а именно которую нужно. Как это прописать если мои данные таксометрии по типу контракта:

    <?php
    
    global $wp_query;
    
    echo View::render('archive-property.twig', array(
        'title' => $wp_query->queried_object->name,
        'wp_query' => $wp_query,
        'properties' => _aviators_properties_prepare($wp_query),
    ));

    Получается в твиг файле, который формирует страницу, вид которой мне нужно дополнить 3мя разными типами контрактов, мне нужно допонительно прописать фильтр пхп с помощью вп_запроса? Как это сделать? подскажите… толи ночь длинная, толи бубен доставать нужно.

    На странице, в формате.twig которая создает внешний вид нужной мне страници, я ссылок на таксономию не вижу. Наоборот, в таксономии есть ссылка на файл твиг, но откуда он узнает в какой области какой фильтр мне нужен? (их 3-и)

    и если честно — не вижу связи формирования страницы с таксономией…они связаны, или таксономия(как я изначально думал) здесь вообще не причем для формирования страницы?

    Слаг — солд так же есть как вид недвижимости, просто я его не перечислял ранее, т.к. в конечном варианте сайта он будет удален. Но для теста вписал его.

    Да вроде об этом, только когда этого не делал никогда мысли друг друга нафиг посылают).
    Мне нужно отфильтровать все имеющиеся значения по «property_contracts» с тремя вариантами значений: ‘Аренда’, ‘Продажа’, ‘Бизнес’.
    Содержание таксономии в первом посте, а шаблона страници вот:

    <?php
    /**
     * Template Name: Properties Grid Template
     */
    global $wp_query;
    
    $rows = aviators_settings_get_value('properties', 'homepage', 'rows');
    $cols = aviators_settings_get_value('properties', 'homepage', 'cols');
    $type = aviators_settings_get_value('properties', 'homepage', 'type');
    $shuffle = aviators_settings_get_value('properties', 'homepage', 'shuffle_results');
    
    $do_shuffle = FALSE;
    if ($shuffle == 'on') {
        $do_shuffle = TRUE;
    }
    
    switch ($type) {
        case 'reduced':
            $posts = aviators_properties_get_reduced($rows * $cols, $do_shuffle);
            break;
        case 'featured':
            $posts = aviators_properties_get_featured($rows * $cols, $do_shuffle);
            break;
        default:
            $posts = aviators_properties_get_most_recent($rows * $cols, $do_shuffle);
            break;
    }
    
    echo View::render('page-properties-grid(origin).twig', array(
         'wp_query' => $wp_query,
         'posts' => $posts,
    
    ));

    Я попробовал сделать следующую запись пока для фильтрации по одному их слагов:

    <?php
    /**
     * Template Name: Properties Grid Template
     */
    $wp_query = new WP_Query( $args );
    $args = array ( 'post_type'=>array('taxonomy' => 'property_contract',
    			'terms' => array('sold'),
    ));
    
    $rows = aviators_settings_get_value('properties', 'homepage', 'rows');
    $cols = aviators_settings_get_value('properties', 'homepage', 'cols');
    $type = aviators_settings_get_value('properties', 'homepage', 'type');
    $shuffle = aviators_settings_get_value('properties', 'homepage', 'shuffle_results');
    
    $do_shuffle = FALSE;
    if ($shuffle == 'on') {
        $do_shuffle = TRUE;
    }
    
    switch ($type) {
        case 'reduced':
            $posts = aviators_properties_get_reduced($rows * $cols, $do_shuffle);
            break;
        case 'featured':
            $posts = aviators_properties_get_featured($rows * $cols, $do_shuffle);
            break;
        default:
            $posts = aviators_properties_get_most_recent($rows * $cols, $do_shuffle);
            break;
    }
    
    echo View::render('page-properties-grid(origin).twig', array(
         'wp_query' => $wp_query,
         'posts' => $posts,
         'post_type'=> arrey('property&property_contract=sale')
    
    ));

    что я сделал не так?

    я правильно понимаю, что мне нужно ввести фильтр к global $wp_query; и получить таким образом $query = new WP_Query( $args ); если следовать примерам?

    Да, я видел эти сайты, они у меня и так сейчас открыты, как пособие). А еще вот http://indysite.ru/manuals/taxonomies-of-wordpress/ — тоже довольно содержательный. Только тут история из разряда «смотрю в книгу…», как и писал, раньше не сталкивался, поэтому логику до конца не пойму. Что и как мне нужно поменять? запрос в таксономии? или вставить пхп запрос в формировании страницы с if ?

Просмотр 14 ответов — с 1 по 14 (всего 14)