• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь правильно составить данный код

gordy

Мастер
Регистрация
25 Авг 2015
Сообщения
228
Реакции
32
PHP:
function go_filter() { // наша функция
    $args = array(); // подготовим массив
    $args = array( 'post_type' => 'post' );

    global $wp_query; // нужно заглобалить текущую выборку постов

    if ($_GET['suser'] != 0) { // если передана фильтрация по разделу
        $args['author'][] = array( // пишем условия в author
            'key' => 'author', // название произвольного поля
            'value' => (int)$_GET['author'], // переданное значение произвольного поля
            'type' => 'numeric' // тип поля, нужно указывать чтобы быстрее работало, у нас здесь число
            );
    }



    if ($_GET['scat'] != 0) { // если передана фильтрация по разделу
        $args['category__and'][] = array( // пишем условия в category__and
            'key' => 'category__and', // название произвольного поля
            'value' => (int)$_GET['category__and'], // переданное значение произвольного поля
            'type' => 'numeric' // тип поля, нужно указывать чтобы быстрее работало, у нас здесь число
            );
    }

        
    query_posts(array_merge($args,$wp_query->query)); // сшиваем текущие условия выборки стандартного цикла wp с новым массивом переданным из формы и фильтруем
}
?>


<div <?php tie_content_column_attr(); ?>>

<form class="filter" action="" method="get"><!-- action пустой, чтобы ссылалось на текущую страницу -->

    <label>Раздел:
        <select name="suser"> <!-- Раздел - селектлист -->
            <option value="">Выберите автора</option>
    <?php
    $users = get_users();
    foreach($users as $user)
    {
        echo "<option ".($user->ID==$susr?"selected ":"")."value=\"".$user->ID."\">".$user->display_name."</option>";
    }

?>
         </select>

<select name="scat"> <!-- Раздел - селектлист -->
<option value="">Выберите категорию</option>
<?php
    $categories = get_categories();
    foreach($categories as $category)
    {
        echo "<option ".($category->term_id==$scat?"selected ":"")."value=\"".$category->term_id."\">".$category->name."</option>";
    }

?>
         </select>
    </label>

    <button type="submit">Отфильтровать</button>
</form>



<?php


if ( $query->have_posts() ) :

            // Get the layout template part
            TIELABS_HELPER::get_template_part( 'templates/archives2', '', array(
                'layout'         => tie_get_option( 'blog_display', 'excerpt' ),
                'excerpt_length' => tie_get_option( 'blog_excerpt_length' ),
                'my_query'         => $query
            ));

            // Page navigation
            TIELABS_PAGINATION::show( array( 'type' => tie_get_option( 'blog_pagination' ) ) );
else:
            echo"извините у данного автора записей не обнаружено";
endif;

?>
</div><!-- .main-content /-->

помогите код составить правильно (корректно), просто он выдает ошибку

Fatal error: Uncaught Error: Call to a member function have_posts() on null in
 
Последнее редактирование:
Назад
Сверху