WordPress的简码输出

时间:2018-08-01 20:02:59

标签: wordpress shortcode

我正在开发使用 WordPress插件模板的wordpress插件。 因此,我需要创建一个简码以在一个页面中为用户显示我的数据。

按以下方式连接HTML是否正确?

function custom_shortcode( $atts ) {

    // Attributes
    $atts = shortcode_atts(
        array(
            'type' => 'type'
        ),
        $atts
    );

    //get all entries (page 1 with 999999 entries per page should do it:)
    $data = Data::get_entries( $atts['type']);

    ob_start();
    ?>

        <div class="row">
            <header><h3>Expenses</h3></header>
            <p>
                <span class="cf-entries-header app-name">Expense Origin</span>
                <span class="cf-entries-header page-name">Expense Value</span>
            </p>

            <?php
                foreach ( (array)$data['entries'] as $entry ) {
                    echo '<p class="cf-entry">’ .
                    ‘<span class="exp-origin">' . $entry['data']['origin'] . '</span>’ .
                    ‘<span class="exp-value">' . $entry['data']['value'] . '</span>’;
                };
            ?>
        </div>
       <?php

        $output = ob_get_clean();
        return $output;
    };

}
add_shortcode( 'cf_app_entries', 'cf_app_entries' );

1 个答案:

答案 0 :(得分:0)

不,这不是正确的方法。

您不能用短码回显所有内容。

您需要将所有内容(HTML)绑定到一个变量中并返回此变量

示例

function loginform() {

$html = '<form class="custom_login_form" rel="" method="POST" role="form" action="" autocomplete="off">
    <div class="form-group">
        <div class="input-container">
            <input id="useremail" type="text" class="form-control input-field" name="email" placeholder="Email">
        </div>
    </div>
    <div class="twice-box"> 
        <div class="form-group">
            <div class="input-container">
                <input id="userpassword" type="password" class="form-control input-field" name="userpassword" placeholder="Password">
            </div>
        </div>
        <div class="form-group text-center">
            <a href="javascript:void(0)" id="submit_login" class="btn yell-btn submt-btn">Login</a>
        </div>
    </div>
    </form>';

return $html;
}
add_shortcode('login-form', 'loginform');

请检查此简码。

如果有任何问题,请告诉我。.

我很乐意为您服务。