0
メインコンテンツ本体の前にショートコードコンテンツを出力しようとしていますが、それを動作させることはできません。ショートコードが正しい場所にレンダリングされません
単純な文字列または数字を使用すると正しい場所に出力されますが、テーブルhtmlを出力しようとするとコンテンツの下にレンダリングされます。
編集:私はソースコードをチェックしました。コードは正しい順序でレンダリングされますが、表示方法は異なります。私は本当に混乱しています。次のように
私のコードは次のとおりです。
/* SHORTCODES */
//inject code on initialization
add_action('init', 'ebs_register_shortcodes');
//register shortcodes
function ebs_register_shortcodes() {
add_shortcode('offer_table', 'ebs_table_shortcode');
}
function ebs_table_shortcode() {
$page_offers = get_post_meta(get_the_ID(), 'offers_on_page', true);
$rank = 1;
//Table Content
$table = '<table>
<thead>
<tr>
<th>Rank</th>
<th>Brands</th>
<th>User Rating</th>
<th>Signup Bonus</th>
<th>Key Features</th>
<th>Play Now</th>
</tr>
</thead>
<tbody>
<tr>';
foreach ($page_offers as $index => $page_id) {
$table .= '<td>'.$rank.'</td>';
$table .= '<td>'.get_field('ebs_brand_logo', $page_id).'</td>';
if (get_field('ebs_launch_date' !== '')) {
$table .= '<td>'.get_field('ebs_launch_date', $page_id).'</td>';
}
$table .= '<td>'.get_field('ebs_rating', $page_id).'</td>';
//echo '<td>'.get_field('ebs_review_link', $page_id).'</td>';
$table .= '<td>'.get_field('ebs_signup_bonus', $page_id).'</td>';
$table .= '<td>'.get_field('ebs_key_features', $page_id).'</td>';
$table .= '<td>'.get_field('ebs_clean_link', $page_id).'</td>';
//$table .= '<td>'.get_field('ebs_brand_name', $page_id).'</td>';
$table .= '</tr>';
$rank++;
}
$table .= '</tbody><br>';
//return the table
return $table;
}
ありがとう、事前に任意の助けのために!
開始時にforeach内で '
修正しました。まだ動かない。 –
答えて
SOLVED!
問題は欠落していました。
出典
2017-06-27 14:40:17
関連する問題