正在重写的自定义分类列表链接

时间:2013-12-02 作者:tristanojbacon

我正在尝试显示我的工作类别中的术语列表。我尝试了以下方法:

function job_listing_taxonomy_list( $taxonomy,$hide ) {
    $args = array(\'order\'=>\'ASC\',\'hide_empty\'=>$hide);
    $terms = get_terms( $taxonomy, $args );
    if ( $terms ) {
        printf( \'<ul name="%s">\', esc_attr( $taxonomy ) );
        foreach ( $terms as $term ) {
            printf( \'<li><a href="http://example.com/?s=&\'.$taxonomy.\'=%s">%s</a></li>\', esc_attr( $term->slug ), esc_html( $term->name ) );
        }
        print( \'</ul>\' );
    }
}
但是,当我单击生成的其中一个术语的链接时,例如:

http://example.com/?s=&job_listing_category=finance
更改为:

http://example.com/?s?job_listing_category=finance
为什么=&;正在更改为“?”?我花了整整半个小时在谷歌和这个网站上寻找答案,但我甚至都不知道该找什么!另一方面,我之前确实安装了一个自定义的Post类型Permalink重写插件,这导致了一个严格的标准错误,但在禁用它之后(结果证明我没有使用它),我现在得到了这个错误。。。。

有什么建议吗?

编辑:我已尝试替换(&A);使用(&;);,但没什么不同

1 个回复
SO网友:tristanojbacon

在考虑了@Milo的评论后,我删除了s= 从链接的参数,它的工作!

这是我的最终代码:

function job_listing_taxonomy_list( $taxonomy,$hide ) {
    $args = array(\'order\'=>\'ASC\',\'hide_empty\'=>$hide);
    $terms = get_terms( $taxonomy, $args );
    if ( $terms ) {
        printf( \'<ul name="%s">\', esc_attr( $taxonomy ) );
        foreach ( $terms as $term ) {
            printf( \'<li><a href="%s/?\'.$taxonomy.\'=%s">%s</a></li>\', site_url() ,esc_attr( $term->slug ), esc_html( $term->name ) );
        }
        print( \'</ul>\' );
    }
}
不同的是我删除了s= 参数,并添加site_url() 这样,当站点移动到实时服务器时,我就不必更改它。

我有s= 首先,这是因为我在调整搜索栏中的搜索URL,所以在我不了解的情况下,我认为它需要s= 为了发挥作用。显然不是!

结束

相关推荐

从wp-Query获取数据,在循环之外&不更改url

我正在基于自定义分类法在wordpress上进行高级搜索。我已经被困72小时了,所以我希望能得到一些帮助或思考。。。步骤1——在js文件中,查询字符串如下所示:if (jQuery(\'#s\').val() == \'\'){ URL = \"/?genre=\" + genre + \'...other Stuff\' #content\'; }else{ URL = \"/?s=\"+searchQueryString+\"&genre=\" + genre +\'.