短代码无法在正确的位置呈现

时间:2017-06-27 14:07:41

标签: php wordpress shortcode

我试图在主要内容体之前输出我的短代码内容,我根本无法使其工作,也无法找到答案。

如果我使用简单的字符串或数字,它会在正确的位置输出,但是当我尝试输出表格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;

        }

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

解决!

问题是缺少标签。