【问题标题】:Global Wordpress IMG directory function全局 Wordpress IMG 目录功能
【发布时间】:2016-01-10 02:01:48
【问题描述】:

我正在使用 Bones 主题来开发 wordpress 主题。图像存储在 'theme/lib/images/site/' 中。要在我当前使用的模板中加载图像:

<?php get_template_directory_uri().'/library/images/'; ?>

我想将此目录作为全局变量添加到 functions.php 中,以便我可以使用简码来加载图像。

<?php echo imgDir(); ?>

我的第一个想法是使用类似的东西

function imgDir() {
     $path_to_image = get_template_directory_uri() . '/library/images/';
}

但似乎不起作用,我在这里遗漏了一些简单的东西吗?添加这样的短代码应该不难。

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    你需要返回你的值:

    function imgDir() {
        return get_template_directory_uri() . '/library/images/';
    }
    

    【讨论】:

      【解决方案2】:

      根据Wordpress Documentation 添加短代码挂钩的正确方法是这样。

      在您的 functions.php

      function imgDir( $atts ){
          return get_template_directory_uri() . '/library/images/';
      }
      add_shortcode( 'imgdir', 'imgDir' );
      

      所以短代码[imgdir] 将返回所需的路径。

      要在 PHP 文件中调用短代码,只需使用 do_shortcode() 这样的函数 -

      echo do_shortcode('[imgdir]'); (Documentation)

      【讨论】:

      • 这比使用函数方法有什么好处?有了这个我会使用
      • 嗯,在功能上并没有更好(除了你可以在后端的编辑器中使用短代码[imgdir])。根据文档、代码样式/可读性,这只是正确的方法。
      • 因为我只会在模板中使用,所以使用函数而不是短代码不会有什么坏处,对吧?我确实尽量保留文档,但似乎函数方法更整洁
      • 当然,这取决于你。 :)
      • 酷,感谢您提供有关短代码的信息,相信它将来会派上用场!
      猜你喜欢
      • 1970-01-01
      • 2018-12-16
      • 1970-01-01
      • 2021-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多