如何将 lib 命名空间添加到 Wordpress roots sage?

How do you add a lib namespace to Wordpress roots sage?

按照 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()

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

$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 目录中的所有文件...)

不是问题(我还不能评论)但是除非你改变了目录结构你的函数应该 return:

get_template_directory_uri() . '/dist/images';

由于 /assets/images 中的图像得到优化,然后复制到 /dist/images