wordpressのajaxを使用してリアルタイムで検索結果を表示させたいです。
こちらのサイトを参考にして進めていったのですが表示されなかったので、質問させていただきました。
serachform.php
php
1<script> 2'use strict'; 3{ 4 const $form = $('#form1'); 5 const $count = $('#search-result-count span'); 6 $form.change(() => { 7 $.ajax({ 8 url: '<?php echo admin_url('admin-ajax.php'); ?>', 9 type: 'POST', 10 data: $form.serialize() + '&action=career_search' + '&_wpnonce=<?php $nonce = wp_create_nonce( 'career_search' ); echo $nonce; ?>' 11 }) 12 .done((response) => { 13 $count.text(response); 14 }) 15 .fail((response) => { 16 $count.text('Security check'); 17 }) 18 }) 19} 20</script> 21 <div id="search-result-count">該当件数:<?php echo $count->count; ?>件</div>
下記がfunction.phpのコードです。
<div id="search-result-count">該当件数:<?php echo $count->count; ?>件</div> の($count)の部分が間違っているのでしょうか? そのほかにも間違っているところがあればご教授いただければ幸いです。php
1function career_search(){ 2 3 if ($_SERVER['REQUEST_METHOD'] === 'POST') { 4 5 $nonce = $_POST['_wpnonce']; 6 if (!wp_verify_nonce($nonce, 'career_search')) { 7 die('Security check'); 8 } 9$tags = get_terms( array( 'taxonomy'=>'post_tag', 'get'=>'all' ) ); 10 11 } 12} 13add_action('wp_ajax_career_search', 'career_search'); 14add_action('wp_ajax_nopriv_career_search', 'career_search'); 15
修正箇所(function.php)
PHP
1#変更前$tags = get_terms( array( 'taxonomy'=>'post_tag', 'get'=>'all' ) ); 2 3$args = array( 4 'get' => 'all', 5 'orderby' => 'count', 6); 7$terms = get_tags($args); 8echo $terms;
修正箇所(searchform.php)
php
1#変更前 <div id="search-result-count">該当件数:<?php echo $count->count; ?>件</div> 2 3<div id="search-result-count">該当件数:<span></span>件</div> 4
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/21 23:05
2019/11/22 01:42