質問編集履歴
1
文章修正と情報追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -16,13 +16,22 @@
|
|
16
16
|
ページャーを使っているので、
|
17
17
|
ajaxの指定は「get」を使っています。
|
18
18
|
|
19
|
+
流れとしては、
|
20
|
+
1、custom-search.phpで記事表示と検索
|
21
|
+
2、function.phpでajaxの読み込みとワードプレス用のショートコード[search]の作成
|
22
|
+
3、search.jsでajaxのプログラム
|
23
|
+
4、固定ページで全てを表示
|
24
|
+
|
25
|
+
このような流れです。
|
26
|
+
|
19
27
|
該当ソースコードも貼りますので、
|
20
|
-
有識者の方がいらっしゃれば何か助言をくださいませ
|
28
|
+
有識者の方がいらっしゃれば何か助言をくださいませんか?
|
21
29
|
|
22
30
|
何卒よろしくお願いいたします。
|
23
31
|
|
32
|
+
参考ソースコードは下記です。
|
33
|
+
https://webfun-style.com/wordpress-custom-search/
|
24
34
|
|
25
|
-
|
26
35
|
### 発生している問題・エラーメッセージ
|
27
36
|
|
28
37
|
```
|
@@ -168,6 +177,27 @@
|
|
168
177
|
### 該当のソースコード(function.php)
|
169
178
|
|
170
179
|
```
|
180
|
+
// ショートコードで絞り込み検索を設置する関数
|
181
|
+
function shortcode_search() {
|
182
|
+
ob_start();
|
183
|
+
get_template_part('custom-search');
|
184
|
+
return ob_get_clean();
|
185
|
+
}
|
186
|
+
add_shortcode('search', 'shortcode_search');
|
187
|
+
|
188
|
+
// ajax読み込み
|
189
|
+
function my_enqueue() {
|
190
|
+
// 特定のページのみで読み込む
|
191
|
+
if ( is_page( 'dounyuuzirei' ) ) {
|
192
|
+
// Ajaxの処理を書いたjsの読み込み
|
193
|
+
wp_enqueue_script( 'ajax-script', get_stylesheet_directory_uri().'/search.js', array('jquery'), null, true );
|
194
|
+
// 「ad_url.ajax_url」のようにしてURLを指定できるようになる
|
195
|
+
wp_localize_script( 'ajax-script', 'ad_url',array( 'ajax_url' => admin_url( 'admin-ajax.php') ) );
|
196
|
+
}
|
197
|
+
}
|
198
|
+
add_action( 'wp_enqueue_scripts', 'my_enqueue' );
|
199
|
+
add_action( 'wp_enqueue_scripts', 'my_enqueue' );
|
200
|
+
|
171
201
|
// Ajaxで検索結果を表示する関数
|
172
202
|
function custom_search() {
|
173
203
|
$nonce = $_REQUEST['nonce'];
|
@@ -186,20 +216,6 @@
|
|
186
216
|
### 該当のソースコード(search.js)
|
187
217
|
|
188
218
|
```
|
189
|
-
jQuery(document).ready(function($) {
|
190
|
-
$.ajax({
|
191
|
-
type: "POST",
|
192
|
-
url: ad_url.ajax_url,
|
193
|
-
data: { 'action' : 'my_action' } // 「wp_ajax_*」の「*」がaction名となる
|
194
|
-
}).done(function(data){
|
195
|
-
console.log(data);
|
196
|
-
console.log("done...");
|
197
|
-
}).fail(function(XMLHttpRequest, textStatus, error){
|
198
|
-
console.log(error);
|
199
|
-
console.log(XMLHttpRequest.responseText);
|
200
|
-
});
|
201
|
-
});
|
202
|
-
|
203
219
|
jQuery(function($){
|
204
220
|
function customSearch(){
|
205
221
|
// 1. フォームのデータを生成
|
@@ -239,7 +255,9 @@
|
|
239
255
|
```
|
240
256
|
### 試したこと
|
241
257
|
|
258
|
+
ajaxの書き方について検索
|
242
|
-
こ
|
259
|
+
400エラーが起こる原因を調査し、
|
260
|
+
色々試したが、原因解決に至らず
|
243
261
|
|
244
262
|
### 補足情報(FW/ツールのバージョンなど)
|
245
263
|
|