我有一个自定义的帖子类型,它有一个称为“金融部门”的自定义分类法。
我正在尝试在我的网站主页上显示一个选择框,以便用户可以选择一个金融部门,它会带您进入该页面。
下面是我用来填充选择框的代码。
<form class="fin-form-select" action="<?php bloginfo(\'url\'); ?>/" method="get">
<label for="choose-fin">Search by Product.</label>
<?php
$select = wp_dropdown_categories(
\'taxonomy=financial- sector
&name=financial-sector
&show_option_all=Please Choose...
&show_count=0
&orderby=name
&order=ASC
&echo=0
\');
$select = preg_replace("#<select([^>]*)>#", "<select$1 onchange=\'return this.form.submit()\'>", $select);
echo $select;
?>
<noscript><input class="rtd-btn primary" type="submit" value="View" /> </noscript>
</form>
我遇到的问题是,当你选择一个选项时,链接会转到404页。我已经冲洗了permalinks,但仍然没有任何乐趣。
有谁能为我提供一个解决方案或更好的方式来实现我的目标。
谢谢
丹
最合适的回答,由SO网友:Daniel Winnard 整理而成
这是我一直在寻找的答案。看着我的脸。
我通过对代码进行简单的添加,成功地解决了这个问题。
&value_field=slug
因此,最终的代码可能会起作用,并在将来有所帮助。
<form action="<?php bloginfo(\'url\'); ?>/" method="get">
<label for="">Search.</label>
<?php
$select = wp_dropdown_categories(
\'taxonomy=YOURTAXONOMY
&name=YOURTAXONOMY
&show_option_all=Please Choose...
&show_count=0
&orderby=name
&order=ASC
&echo=0
\');
$select = preg_replace("#<select([^>]*)>#", "<select$1 onchange=\'return this.form.submit()\'>", $select);
echo $select;
?>
<noscript><input class="rtd-btn primary" type="submit" value="View" /> </noscript>
</form>
只需使用自定义分类法slug更改分类法即可。
希望这有帮助。