我试图在主要内容体之前输出我的短代码内容,我根本无法使其工作,也无法找到答案。
如果我使用简单的字符串或数字,它会在正确的位置输出,但是当我尝试输出表格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;
}
提前感谢您的帮助!
答案 0 :(得分:0)
解决!
问题是缺少标签。