2017-06-20 9 views
0

状況:メタデータを表示するためのinclude_onceでPHPファイル(table_template.php)を使用してWPポストバックエンドに示すメタデータが、フロントエンドではない/同じコード

。このテンプレートをバックエンド(メタボックス内)で使用すると、表のメタデータに表示されないフロントエンド(ポスト内)で同じテンプレートを使用することができます(カスタムフィールドの他のメタデータも同様です)。バックエンドで

VARダンプ:

ストリング(65) "[" テスト値1" 、 "検査値2"、 "検査値3"]、[ "試験値A"、」試験値b " "テスト値C"]]" フロントエンドに

VARダンプ:

列(6) "["、 "]"

コードからtable_template .php私はテンプレートを読み込む方法

<?php 

/* TEMPLATE TO RENDER THE TABLE (AS PREVIEW) IN THE BACKEND AND FRONTEND */ 

global $post; 
$table_meta = get_post_meta($post->ID, 'psg_table_meta', true) ? 
get_post_meta($post->ID, 'psg_table_meta', true) : '[[""]]'; 
$t = json_decode($table_meta); 
$c_id = get_post_meta($post->ID); 
$c = get_post($c_id); 


?> 

<div class="psg_box_table"> 
    <table class="psg_table "> 
     <thead> 
      <tr> 
       <?php foreach ($t[ 0 ] as $col): ?> 
       <th> 
        <?php echo $col; ?> 
       </th> 
       <?php endforeach; ?> 
      </tr> 
     </thead> 

     <tbody> 
      <?php foreach ($t as $idx => $row): ?> 
      <?php if ($idx == 0) 
       continue; ?> 
      <tr> 
       <?php foreach ($row as $col): ?> 
       <td> 
        <div class="psg_table_content"> 
         <?php echo str_replace('"', '&quot;', $col) ?> 
        </div> 
       </td> 
       <?php endforeach; ?> 
      </tr> 
      <?php endforeach; ?> 

     </tbody> 
    </table> 
</div> 
<!--END SIZING CHART TABLE --> 

include_once("table_template.php"); 
+0

での問題は、私はpostIDをチェックしてはならないということであった(表メタデータは、その中にポストではなく、選択/リンクポストに直接ではありません。だから私は$ table_meta = get_post_metaを交換しなければなりませんでした($ post-> ID、 'psg_table_meta'、true)?$ table_meta = get_post_meta($ psg_selected、 'psg_table_meta'、true)? – GTO

答えて

0

問題は、私はpostIDをチェックしてはならないということであった(表メタデータはポストに直接ではなく、その中の選択/リンクポストインチだから私は

$table_meta = get_post_meta($post->ID, 'psg_table_meta', true) ? 

を交換しなければなりませんでした

$table_meta = get_post_meta($psg_selected, 'psg_table_meta', true) ? 
0

あなたは

$post->ID 

を交換、その後、WP_Queryのループ内のテンプレートを使用している場合

また、psg_table_metaのキーが正しいかどうかを確認してください。

+0

ありがとうAhmed。正解ではありませんが、正しい道に導いてくれてありがとうございました。あなたの答えを正しいものとして受け入れてください。 – GTO

関連する問題