CF7プラグインを介して生成されたフォームの1つのショートコード内にあるページのコンテンツをajaxを介してロードします。コンテンツがレンダリングされると、ショートコードは処理されず、テキストとして出力されます。ajax呼び出しでショートコードの実行を強制する方法はありますか? ありがとう、M.
これはjsスクリプトです:
function getcontent(postid){
// here is where the request will happen
jQuery.ajax({
url: '/wp-admin/admin-ajax.php',//ajax controller request
data:{
'action':'dch',//action invoked
'fn':'ghcontent',//function required
'postid':postid//if of post required
},
cache: false,
async:true,
timeout: 3000,
success:function(data){
jQuery("#posthome").html(data);//print the html (content)
},
error: function(errorThrown){
console.log(errorThrown);
}
});
}
そして、これは私のPHPコードです:
add_action('wp_ajax_nopriv_dch', 'ghcontent');
add_action('wp_ajax_dch', 'ghcontent');
function ghcontent(){
$args = array('page_id' => $_REQUEST['postid']);
query_posts($args);
if(have_posts()) :
while (have_posts()) : the_post();
the_content();
endwhile;
endif;
die();
}