2017-07-29 9 views
0

jqueryでワードプレスの事前検索を行います。 ユーザーが検索ボタンをクリックすると、jqueryを使用してすべての検索パラメータを取得し、$ .post()関数をadmin-ajax.phpに送信します。 functions.phpファイル内に関数を作成し、 wp投稿を取得するためにwp_queryを書きます。上記のコードでワードプレスのajaxフォーム用のコールバック関数

$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のechoは "0"文字を出力します! 私に助けてください、ありがとう...

答えて

0

これでコードを置き換える必要があります。 エコーの場合、get_the_permalink()の代わりに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(); 
} 
+0

非常に感謝...しかし、 "0" の文字は何ですか?これはサーバーからjqueryへのすべての応答に表示されます –

+0

die()メソッドの終了を次のように追加する必要があります:function yourFunction(){ //ここにコードを書く... die(); }; –

+0

$ post-> ID()を正しいクエリに置き換えるのに役立ちますか?次のようにします。get_post_meta($ post-> ID、 'movie250'、true) –

関連する問題