wordpress

时间:2017-07-29 17:33:34

标签: php jquery ajax wordpress search

我使用jquery进行wordpress高级搜索。 当用户点击搜索按钮时,通过使用jquery我获取所有搜索参数并使用$ .post()函数发送到admin-ajax.php ... 我在functions.php文件中创建一个函数并接收所有搜索值并编写wp_query来获取wp帖子。

$args = array(
'category_name' => '3d');$query = new WP_Query($args);

if ($query->have_posts()) {
while ($query->have_posts()) {
    $query->the_post();
    echo '<a href="'. the_permalink() .'">test</a>';
}
wp_reset_postdata();

}

在上面的代码中,当我打印一个标签时,输出是这样的:

http://localhost/site/%d8%af%d8%a7%d9%86%d9%84%d9%88%d8%af-%d9%81%db%8c%d9%84%d9%85-zootopia/test0

问题1:测试是一个链接,但没有任何href!链接的href像链一样打印在链接之外! 问题2:“0”字符自动打印后,所有输出值甚至空回显在php中都会打印“0”字符! 请帮助我,谢谢...

1 个答案:

答案 0 :(得分:0)

您需要用此替换代码。因为您在 echo 内部时使用的是the_permalink()而不是get_the_permalink()

https://developer.wordpress.org/reference/functions/get_the_permalink/ https://developer.wordpress.org/reference/functions/the_permalink/

$args = array('category_name' => '3d');
$query = new WP_Query($args);

if ($query->have_posts()) {
    while ($query->have_posts()) {
        $query->the_post();
        echo '<a href="'. get_the_permalink() .'">test</a>';
    }
    wp_reset_postdata();
}