基于has_tag()的jquery选择器


WordPress - jquery selector based on has_tag()

我有一个下拉选择两个选项(例如:帐簿和记录)。默认是books。如果用户选择记录,则会被重定向到站点的另一个部分。我希望下拉菜单反映我如何使用has_tag条件在WordPress中标记页面。例如,如果页面被标记为"记录",我希望他们在下拉菜单中看到记录,而图书则相反。以下是我的尝试:

HTML:

 <select name="segment" id="segment">
  <option value="/book">Book</option>
  <option value="/record">Record</option>
</select>
<script type="text/javascript">
jQuery('#segment').change(function(){
window.location.href = jQuery(this).val();
});
jQuery(function(){
 jQuery("#segment > option").each(function() {
  if(this.value == window.location.pathname){
   this.selected = 'selected';
   }
 });
});
</script>

然而,一旦他们在该页上并点击到任何其他页面,它默认为"book"。我想说,如果页面has_tag('book'),那么选项将是book,但如果页面has_tag('record'),那么选项将是record。如有任何建议,我将不胜感激。

您可以使用<option>标记的selected属性来完成此操作。例如:

<select name="segment" id="segment">
    <option value="/book" <?php if ( has_tag('book') ) { echo 'selected'; } ?>>Book</option>
    <option value="/record" <?php if ( has_tag('record') ) { echo 'selected'; } ?>>Record</option>
</select>

我会去掉.each()函数,只使用PHP。