post-plain-body
渡された投稿のタイトルと本文を印刷するというページ テンプレートがあります。という名前のページAjaxLoader
は、このテンプレートを使用しています。たとえば、値として呼び出す/ajaxloader
と、その投稿の内容が表示されます。id
$_POST['id']
これは、メイン ページで jQuery を介して呼び出されます。投稿/ページのコンテンツを特定のコンテキストに実際にロードします。
ロードしたページの 1 つにContact Form 7
フォームが含まれています。フォームは表示されますが、送信すると、/ajaxloader/#wpcf7-f2-p34-o1
Ajax を使用してフォームを検証する代わりにフォームが表示されます。
ページのテンプレートです。
<?php
/*
Template Name: Ajax Loader
*/
// Load contact form 7 scripts
if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
wpcf7_enqueue_scripts();
wpcf7_enqueue_styles();
}
// Gets the content only from a post. Used in ajax loading
if(isset($_POST['id'])):
$post = get_post($_POST['id']);
if ($post) : setup_postdata($post);
?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
<h2><?php the_title(); ?></h2>
<?php the_content(); ?>
</div><?php
endif;
else:?>
<h2>Page not found</h2><?php
endif;
?>
そして、コンテンツをロードしているjQueryは次のとおりです
function load_page(pid) {
$("#page_preview").load("ajaxloader/", {id:pid},function(){
$('#page_preview').fadeIn(300);
$('#page_loading').hide();
});
}
編集
が Contact Form 7 スクリプトに添付され<form>
ていません。firebugでjavascriptデバッグを使用してこれを見つけました。通常、イベントには 2 つのハンドラーが関連付けられている必要がclick
ありsubmit
ます。添付されていない理由はありますか?