我想在wordpress的主页中创建一个包含一些内容的部分, 因为我已经在function.php中使用add_shortcode()。到目前为止, 它运行良好。.但是我想知道我是否做对了, 还是应该采用其他更好的方法来做?我的代码:
add_shortcode('homemiddle', 'display_middle_info');
function display_middle_info() {
$url = get_stylesheet_directory_uri();
$content ="
<section class='gallery-section masonry-gallery padd-bott-60 bg-lightgrey'>
<h2>My Title</h3>
<a href='#'>GET FREE CONSULTATION</a> <a href='#'>ENTRANCE TEST 2018-19</a>
</section>";
return $content;
}
并在我做的模板文件中输出:
<?php echo do_shortcode( '[homemiddle]' );?>
它正在完成工作, 但是我仍然想确认这是一种适当的方法, 因为我是WordPress开发的新手。请指导我…谢谢。
#1
是的, 如果你想要增强功能, 则此代码是正确的, 可以使用以下代码:
add_shortcode('homemiddle', 'display_middle_info');
function display_middle_info($atts) {
$url = get_stylesheet_directory_uri();
$content = "";
$content .= "<section class='gallery-section masonry-gallery padd-bott-60 bg-lightgrey'>";
$content .= "<h2>My Title</h3>";
$content .= "<a href='#'>GET FREE CONSULTATION</a> <a href='#'>ENTRANCE TEST 2018-19</a>";
$content .= "</section>";
if($atts['id']){
$content .= "<div>ID: ".$atts['id']." passed</div>";
}
if($atts['another'] == 1){
$content .= "<div>This shortcode have another args passed!</div>";
}
if($atts['another'] == 0){
$content .= "<div>This shortcode have another args NOT PASSED!</div>";
}
return $content;
}
因此, 你可以使用更多的简码参数。例如。:
<?php echo do_shortcode( '[homemiddle]' ); ?>
<?php echo do_shortcode( '[homemiddle id=254]' ); ?>
<?php echo do_shortcode( '[homemiddle another=0]' ); ?>
<?php echo do_shortcode( '[homemiddle another=1]' ); ?>
<?php echo do_shortcode( '[homemiddle id=254 another=1]' ); ?>
希望对你有所帮助, 每个问题也对我的帖子发表评论
#2
首先, 如果它起作用了, 那就起作用了!看起来不错。通常, 当我想执行复杂的逻辑或处理动态数据但可以将短代码粘贴到所见即所得的编辑器或模板文件中时, 或者我想授权非技术用户在CMS管理界面中使用时, 我会使用短代码。
如果你只需要输出一次静态内容, 则简码可能会过大, 但是你的实现没有错。
评论前必须登录!
注册