Добавить произвольные поля в поиске по параметрам.

E
На сайте с 23.12.2013
Offline
15
806

Здравствуйте. Помогите пожалуйста. Занимаюсь на своем сайте(wordpress) созданием формы выбора роутера по некоторым критериям. Решил использовать скрипт http://wpadvancedsearch.com/ ,так как сам написать не смогу. То, что я хочу получить в итоге, можно посмотреть по ссылке:http://www.npp-photon.ru/configurator.php

А теперь постараюсь ввести в ход дела и подойти к вопросу...

Взял файл page.php и изменил контент на представленный на сайте(1 ссылка)

...

<div class="entry-content">

<h1><?php the_title(); ?></h1>

<?php

$args = array();

$args['wp_query'] = array('post_type' => 'post',
'posts_per_page' => 5,
'order' => 'DESC',
'orderby' => 'date');

$args['fields'][] = array('type' => 'search',
'label' => 'Search',
'value' => '');

$args['fields'][] = array('type' => 'post_type',
'label' => 'Post Type',
'values' => array('post' => 'Post', 'page' => 'Page'),
'format' => 'select');

$args['fields'][] = array('type' => 'taxonomy',
'label' => 'Category',
'taxonomy' => 'category',
'format' => 'multi-select',
'operator' => 'AND');

$args['fields'][] = array('type' => 'taxonomy',
'label' => 'Tags',
'taxonomy' => 'post_tag',
'format' => 'checkbox',
'operator' => 'IN');

$args['fields'][] = array('type' => 'date',
'label' => 'Month',
'date_type' => 'month',
'format' => 'multi-select');

$args['fields'][] = array('type' => 'orderby',
'label' => 'Order By',
'values' => array('' => '', 'ID' => 'ID', 'title' => 'Title', 'date' => 'Date'),
'format' => 'select');

$args['fields'][] = array('type' => 'order',
'label' => 'Order',
'values' => array('' => '', 'ASC' => 'ASC', 'DESC' => 'DESC'),
'format' => 'select');

$args['fields'][] = array('type' => 'submit',
'value' => 'Search');

$my_search_object = new WP_Advanced_Search($args);

$my_search_object->the_form();

$temp_query = $wp_query;
$wp_query = $my_search_object->query();

if ( have_posts() ):

while ( have_posts() ): the_post();
?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<p><strong>Author:</strong> <?php the_author();?> &nbsp;&nbsp; <strong>Date:</strong> <?php the_date();?></p>
<?php the_excerpt(); ?>
<p><a href="<?php the_permalink(); ?>">Read more...</a></p>
<?php
endwhile;

$my_search_object->pagination();

else :

echo 'Sorry, no posts matched your criteria.';

endif;

$wp_query = $temp_query;
wp_reset_query();
?>

</div><!-- .entry-content -->
...

На сайте это выглядит так:

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

Есть еще небольшой вопрос, в создании динамического поля у меня уже есть несколько значений, которые можно выбирать. Можно ли их как-нибудь удалить и добавить свои?

Заранее спасибо.

FollowLocation
На сайте с 19.07.2013
Offline
12
#1

Exercise, сверстайте форму поиска и воспользуйтесь классом WP_Query. По приведенной ссылке всё довольно подробно описано.

E
На сайте с 23.12.2013
Offline
15
#2

А могу я заменить в таком кусочке кода 'category' на что-то, что означало бы какое-то определенное название произвольного поля. Например, называется производное поле "Мощность" и заменив

$args['fields'][] = array('type' => 'taxonomy',

'label' => 'Category',
'taxonomy' => 'category',
'format' => 'multi-select',
'operator' => 'AND');

на что-то по смыслу похожее на

$args['fields'][] = array('type' => 'taxonomy',

'label' => 'Мощность',
'taxonomy' => 'Мощность',
'format' => 'multi-select',
'operator' => 'AND');

смогу ли я получить в итоге формочку "Mощность" со всеми имеющимися для нее значениями?

"Mощность" я обозначил примерно, так как суть моего вопроса именно в том, как заменить эту "Mощность" на значение, которое скрипт пример как родное.

Извините, если написал опять непонятно.

FollowLocation
На сайте с 19.07.2013
Offline
12
#3

Exercise, если уж Вы привязались к этому плагину, то самым верным способом что-то узнать будет курение мануалов. Благо, к этому плагину они довольно подробные. Вот, к примеру, параметр meta_key - то, что Вам нужно.

E
На сайте с 23.12.2013
Offline
15
#4

Извините, а по этому поводу может кто-нибудь подсказать?

Exercise:

Есть еще небольшой вопрос, в создании динамического поля у меня уже есть несколько значений, которые можно выбирать. Можно ли их как-нибудь удалить и добавить свои?

Заранее спасибо.
FollowLocation
На сайте с 19.07.2013
Offline
12
#5

Exercise, если их удаление никак не скажется на функциональности блога, то почему бы и не удалить? И в чём про6лема добавить свои доп. поля?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий