2017-10-05 11 views
0

WPテーマフォルダ内にあるPHPファイルでカスタムAJAX関数を呼び出そうとしていますが、出力を取得できません。私は問題がメインのWPファイルにWPクエリをリンクすることにあると思う?私は単純に「テスト」を行うエコーとき、私は私のページに出力を取り出すが、私はWPクエリを使用しようとすると、それがない(私のテーマのフォルダ内に別のPHPファイル内のWPコールカスタムAJAXリクエスト(WPクエリー)

$.ajax({ 
url: "../../ajax-crew.php", 
type: "POST", 
data: {loadcrew: true}, 
etc etc etc ... 

マイカスタムAJAX-crew.phpファイル任意の出力を作成しません:あなたはあなた自身のAJAXハンドラPHPファイルを作成することはありません

<?php include '../../../wp-load.php'; ?> 
<?php 
if (isset($_POST['loadcrew'])){ 
$args = array(

'post_type' => 'team-members', 
'order'  => 'rand', 
'posts_per_page' => 1 
); 
query_posts($args); 
if (have_posts()) : while (have_posts()) : the_post(); 
$thumb_id = get_post_thumbnail_id(); 
$thumb_url = wp_get_attachment_image_src($thumb_id,'featured-400-400', true); 
$index = $wp_query->current_post; 

echo $thumb_url[0]; 
endwhile; 
endif; 
} // end if isset 
?> 

答えて

1

、それはセキュリティ上のリスクとなる可能性がありますワードプレスは、アクションとフィルタを使用してにフックすることができます独自のAJAXハンドラファイルを持っており、あなたが使用する必要があります。その代わりに、WordPressコーデックスのこの記事では、フロントエンドとバックエンドの使い方の例と使用例についての完全な説明があります:AJAX in Plugins

0

あなたはミラノの答えを試してください。しかし、コードのどこで応答を返さないかを知りたければ、WP php consoleを使用して変数をダンプすることができます(コードをfunction.phpに移動し、PHPスクリプトで関数を呼び出す)。