如何向Wordpress root sage添加lib命名空间?

时间:2015-11-10 16:18:04

标签: php wordpress wordpress-theming

根据编写here的文档,我在lib目录中添加了一个文件,其中包含:

<?php

namespace Theme\URIs;

/**
 * Returns theme images directory uri
 */
function get_images_directory_uri() {
    return get_template_directory_uri() . '/assets/images';
}

然后我尝试使用以下模板文件调用:

<?php print Theme\URIs\get_images_directory_uri(); ?>

然后调用此方法,返回Fatal error: Call to undefined function Theme\URIs\get_images_directory_uri()

2 个答案:

答案 0 :(得分:0)

解决方法是将文件添加到$sage_includes中的functions.php数组中,所以它看起来像这样:

$sage_includes = [
  'lib/assets.php',  // Scripts and stylesheets
  'lib/extras.php',  // Custom functions
  'lib/setup.php',   // Theme setup
  'lib/titles.php',  // Page titles
  'lib/wrapper.php',  // Theme wrapper class
  'lib/uris.php' // Project URIs
];

这会导入要在主题中使用的文件。

本文档没有解释这一点。 (我假设它只是导入了libs目录中的所有文件......)

答案 1 :(得分:0)

不是问题(我还不能发表评论),但除非您更改了目录结构,否则您的函数应该返回:

get_template_directory_uri() . '/dist/images';

随着/assets/images中的图片优化,然后复制到/dist/images