WordPressページのリンクをクリックしたときに、WordPress投稿をiframe
にロードしたいと思います。これは私が現在持っているリンクです。
<a href="' . get_post_permalink($sight->ID) . '" target="map-loader">Read the report</a>
それから私はリンクがクリックされたときにその投稿のコンテンツ(ヘッダやフッタなどなし)をiframeにロードしたいです。これはページ上にあるiframeです。
<iframe name="map-loader" src="map-iframe.php"></iframe>
私は途中です。リンクがクリックされると、iframeはヘッダーとフッターなどを含む完全なwordpressページをロードします。私が欲しいのはiframeにロードされる実際の投稿コンテンツです。
私はこれをmap-iframe.phpで試しましたが成功しませんでした。 Wordpressのテンプレート全体を読み込みます。
<?php the_content('Read the rest of this entry »'); ?>
私のリンクには、投稿コンテンツのみをロードすることを指定するものが必要だと思います。
それとも、Ajaxを使ったほうがいいでしょうか。
確信はありませんが、私はAjaxソリューションがより適切であろうと思います。
しかし、とにかく、私がこれを正しく理解しているならば、あなたは完全な投稿がiframeの中にロードされているアーカイブを持っています。
この場合、テンプレートファイル(single.php)を修正して、ヘッダーとフッターを削除することができます。
さらに読むために私はより高度な機能にあなたを導くであろうこれを見つけました: http://bavotasan.com/2009/custom-template-for-single-posts-in-wordpress/
注意:あなたもadminbarを取り除きたい場合は、これを試してみてください:あなたのコードの先頭にあるshow_admin_bar(false);
。
テストしていませんが、これがうまくいかない場合は、init
の内側にフックしてチェックすることができます。
if(is_page()) {
show_admin_bar(false);
}
編集する
IDに応じて投稿される新しいページを設定することもできます。
最初にカスタムテンプレートを作成しましょう
<?php
/*
* Template Name: IFrame
*/
$id = intval($_GET["ID"]);
$post = get_post($id);
var_dump($post);
?>
それはあなたにあなたの投稿を返します
もちろん、あなたはあなた自身のテンプレートをデザインする必要があります。