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

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

    (@art_star)

    разбираюсь вот параллельно с таксономией)

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

    Автор ART_STAR

    (@art_star)

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

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

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

    Автор ART_STAR

    (@art_star)

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

    {% 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.
    ….верно?

    Автор ART_STAR

    (@art_star)

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

    Автор ART_STAR

    (@art_star)

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

    <?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 );

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

    Автор ART_STAR

    (@art_star)

    Что имеется ввиду под словом «там»? а то я тут уже много чего накидал))
    Если последний файл с пхп запросом, то потому что документ из которого сделан копипасть называется 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,
      ));

    Автор ART_STAR

    (@art_star)

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

    <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),
    ));

    Автор ART_STAR

    (@art_star)

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

    Автор ART_STAR

    (@art_star)

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

    Автор ART_STAR

    (@art_star)

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

    Автор ART_STAR

    (@art_star)

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

    Автор ART_STAR

    (@art_star)

    Да вроде об этом, только когда этого не делал никогда мысли друг друга нафиг посылают).
    Мне нужно отфильтровать все имеющиеся значения по «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')
    
    ));

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

    Автор ART_STAR

    (@art_star)

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

    Автор ART_STAR

    (@art_star)

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

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