Я собрал пару выпадающих поисков, и у меня возникли проблемы с авторами.
Это веб-сайт страницы моего архива: http://goo.gl/p1RLUm
Поэтому, если я ищу автора, меня отправляет примерно так:
mydomain.com/?author=67
Когда он должен отправить меня на это: mydomain.com/author/username
вот реальная рабочая страница автора
Я пробовал так много вещей, но он всегда вытаскивает строку запроса в качестве ответа и никогда не может заставить ее уйти.
Любая помощь приветствуется!
<form action="<?php bloginfo('url'); ?>/author/" method="get">
<?php
$args = array(
'show_option_none' => __( 'Select Author' ),
'name' => 'author',
'orderby' => 'ASC',
'echo' => 0,
'who' => 'authors',
);
?>
<?php $select = wp_dropdown_users( $args ); ?>
<?php $replace = "<select$1 onchange='return this.form.submit()'>"; ?>
<?php $select = preg_replace( '#<select([^>]*)>#', $replace, $select ); ?>
<?php echo $select; ?>
<noscript>
<input type="submit" value="View" />
</noscript>
</form>
Итак, я обновил свой код. Я на правильном пути?
<?php $users = wp_list_authors($args); ?>
<?php
$args = array(
'show_option_none' => __( 'Select Author' ),
'name' => 'author',
'orderby' => 'ASC',
'echo' => FALSE,
'who' => 'authors',
);
?>
<select name="author-dropdown" onchange='return this.form.submit()'>
<?php foreach($users as $user):?>
<option name="<?php echo $user->name; ?>">
<?php echo $user->name; ?>
</option>
<?php endforeach;?>
</select>