总的来说,我对wordpress和编程还不太熟悉。我有以下问题。
最近,我遇到了这篇文章,想在我正在研究的wordpress主题中使用这种方法。
我编写了这个Enqueue类,用于将我的样式和js排队到主题:
actionEnqueueScripts(function () use ($handle, $src, $deps, $ver, $media) {
wp_enqueue_style($handle, $src, $deps, $ver, $media);
});
return $this;
}
}因此,我可以在我的function.php中添加如下样式:
require_once 'vendor/class-enqueue.php';
$theme = new Enqueue;
$theme->addStyle('stylesheet-1', get_template_directory_uri() . '/dist/assets/css/bundle.css', array(), time(), 'all')
->addStyle('stylesheet-2', get_template_directory_uri() . '/dist/assets/css/bundle.css', array(), time(), 'all');我的问题是:这不是有点低效吗?因为,每次我添加一个css文件时,它不是都会调用add_action钩子'wp_enqueue_scripts吗?然而,在一种过程方法中,对于所有的样式,我只会调用这个动作钩子一次,可以吗?
PS:如果可以的话,可以在addStyle方法中添加条件吗?像这样
$theme->(if(is_single)) addStyle('stylesheet-1', get_template_directory_uri() . '/dist/assets/css/bundle.css', array(), time(), 'all')感谢您的阅读。
发布于 2021-08-09 12:20:19
(附带说明)。写类并不意味着代码是OOP。许多人将类的使用与OOP混为一谈,而类只是一种允许将方法和数据组合在一起的语法。对于OOP,您实际上需要弄清楚您的系统有哪些对象以及可以对它们执行哪些操作。
糟糕的OOP实际上会导致误导性代码。例如,该帖子中的这一行
$theme->addSupport('post-thumbnails');
但在实践中,它并不是添加支持post缩略图的主题,而是实际上添加到wordpress管理程序中,因此这将是更准确的代码。
$wp->addThemeSupport($theme, 'post-thumbnails');
把理论上的垃圾排除掉,我们可以把注意力集中在实际问题上;)
https://wordpress.stackexchange.com/questions/393071
复制相似问题