2012-04-25 9 views
0

ユーザーがリンクをクリックすると、対応するページを現在のページにロードします。このajaxページは、非ajaxページとは別のテーマにする必要があります。別のテンプレートを使用してWordpressでajaxを使ってページをロードする

ページはクライアントによって異なる言語で追加されます。したがって、固定IDはなく、クライアントは同じ記事を2回追加するべきではありません(通常の場合は1、Ajaxの場合は1)。これは、手動でテンプレートを上書きすることを決めます。

最初の部分は、コンテンツのAjax読み込みが簡単ですが、私はさまざまな方法でコンテンツを表示する方法がわかりません。

だから

domain.com/product/car直接訪問は、ヘッダとフッタを含むテンプレートとして単product.phpを使用して製品(自動車)を示します。

ajax loading domain.com/product/carには製品(車)が表示されますが、ヘッダーとフッターはなく、多少のレイアウト変更はありません。

私の最初の考えは動的にテンプレートを設定することです(template-product-ajax.php)が、これが可能かどうかはわかりません。要するに

wordpressの

+0

以下の回答を確認し、役立つ情報か必要な情報があれば教えてください。あなたはそれがどのように動作するかを把握していると思うなら、Answeredとマークしてください。 – maiorano84

答えて

1

にAJAXでページをロードするときに、どのように私は別のテンプレート/レイアウト/ビューを作成することができますあなたは一連の変数に渡す必要があり、あなたがしたいページ/ポストIDを含みます読み込みしようとしているオブジェクトの種類( 'page'または 'post')と、標準get_header()関数がロードされていないことを保証するブール値(ページの内容のみを必要とするヘッダー)。

テンプレート内のどこかで、そのブール値を使用してテンプレートの動作を判断できます。たとえば:

<?php 
/*Template Name: AJAX Content*/ 
if(!isset($_POST['bool'])) 
    get_header(); 
?> 
<div id="body"> 
    <div class="page_content"> 
    <?php 
     if(isset($_POST['bool'])) 
     { 
      $object = $_POST['ob_type'] == 'page' ? get_page($_POST['PID']) : get_post($_POST['PID']); 
      echo $object->post_content; 
      /*echo '<pre>';var_dump($object);echo '</pre>';//Uncomment this section if you want to know what you can access with variable $object*/ 
     { 
     else 
     { 
      //STANDARD LOOP 
     } 
    ?> 
    </div> 
</div> 

これはテストされていないですが、それはあなたがすでにAJAXコールと別のページにPOSTデータを送信することに慣れている場合は、あなたが始めるのに役立つはずです。

関連する問題