状況:メタデータを表示するための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('"', '"', $col) ?>
</div>
</td>
<?php endforeach; ?>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<!--END SIZING CHART TABLE -->
:
include_once("table_template.php");
での問題は、私はpostIDをチェックしてはならないということであった(表メタデータは、その中にポストではなく、選択/リンクポストに直接ではありません。だから私は$ table_meta = get_post_metaを交換しなければなりませんでした($ post-> ID、 'psg_table_meta'、true)?$ table_meta = get_post_meta($ psg_selected、 'psg_table_meta'、true)? – GTO