用于多个子主题的一个子函数.php

时间:2013-05-01 作者:Tory

我有一个wordpress设置,我为客户使用大约30个左右的子主题,他们可以从中选择。每个子主题都有自己的功能。当前为php文件。是否可以只设置一个子函数。php并从所有单独的子主题调用它?我想要这个功能的原因是我发现自己不断地对功能进行更改。php和我每次都要处理所有30多个主题。

4 个回复
最合适的回答,由SO网友:brasofilo 整理而成

嗯,我想说你需要一个自定义插件。所有理由都在本问答中;答:

Where to put my code: plugin or functions.php?

也相关:

然后回答问题,创建以下文件/wp-content/themes/common-functions.php, 然后把你需要的东西贴在里面。在儿童主题中functions.php 使用:

require_once ( TEMPLATEPATH . \'/../common-functions.php\' ); 

require_once ( WP_CONTENT_DIR . \'/themes/common-functions.php\' ); 

SO网友:fuxia

使用插件。钩入after_setup_theme 并检查当前主题是否为正确的子主题:

add_action( \'after_setup_theme\', \'common_child_theme_functions\' );

function common_child_theme_functions()
{
    if ( \'Twenty Twelve\' !== wp_get_theme()->parent() )
        return;

    // do your work
}
wp_get_theme() 返回aWP_Theme 实例,以及parent() 父主题名称或FALSE.

我不推荐mu插件。真正的插件可以停用,您可以分别为每个站点启用或禁用它们。调整客户的能力;这是一种更干净的方法。

SO网友:JMau

我会使用一个必须使用的插件。该代码将在网络上应用,而您的客户端将无法访问它,因此无法禁用或修改它。

要继续,您只需将代码放在一个文件中并将其放入/wp-content/mu-plugins/

希望这会有所帮助:)

SO网友:s_ha_dum

你可以include 几乎可以从任何子主题中获取任何文件,但WordPress的一个鲜为人知的特性是Must Use plugins. 我想我会倾向于这一点。

在中创建一个名为mu plugins的目录wp-content与普通插件不同,必须使用的插件不会显示在插件列表中,并且除了删除mu插件文件外,不能停用,因此它们可以作为一种全局插件functions.php.

结束

相关推荐

如何在Functions.php中使用PHP手动修复WordPress库代码?

Wordpress为内置的gallery功能输出了一些非常糟糕的代码,这已经被谈论了很多次了。这是负责库输出的核心代码(在/wp-includes/media.php中):function gallery_shortcode($attr) { global $post; static $instance = 0; $instance++; // Allow plugins/themes to override the de