在WordPress中使用add_shortcode()在主页中创建内容部分

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在WordPress中使用add_shortcode()在主页中创建内容部分相关的知识,希望对你有一定的参考价值。

我想在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开发的新手。请指导我......谢谢。

答案

是的,如果您想要提升功能,此代码是正确的,您可以使用此代码:

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;
}

所以,你可以使用更多的短码args。例如。:

<?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]' ); ?>

我希望能帮助你,因为每个问题也对我的帖子发表评论

另一答案

首先,如果它的工作,它的工作!看起来很好。通常情况下,当我想要复杂的逻辑或使用动态数据时,我会使用短代码,但能够将短代码粘贴到所见即所得的编辑器或模板文件中,或者我希望授权非技术用户在CMS管理界面中使用。

如果您只需要输出一次静态内容,那么短代码可能过度,但您的实现没有任何问题。

以上是关于在WordPress中使用add_shortcode()在主页中创建内容部分的主要内容,如果未能解决你的问题,请参考以下文章

使用WordPress快捷码创建手写签名

WordPress快捷码

Wordpress自动关闭快捷码

WordPress快捷码:仅向注册用户显示内容

Wordpress插件开发 - 仅在需要的地方加载排队的文件

Wordpress 简码返回另一个 php 页面