我正在开发使用 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' );
答案 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');
请检查此简码。
如果有任何问题,请告诉我。.
我很乐意为您服务。