作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试禁用 Wordpress 首页上的插件,以使其更轻一些。我只想在显示首页时禁用它。
我在 wp-content/mu-plugins/中放置了这个工作代码它会禁用除指定/子页面/之外的所有页面上的一个插件这很棒,但这并不是我所追求的。
如何更改此代码以仅在查看首页时禁用插件?
这是代码:
add_filter( 'option_active_plugins', 'lg_disable_plugin' );
function lg_disable_plugin($plugins){
if(strpos($_SERVER['REQUEST_URI'], '/subpage/') === FALSE AND strpos($_SERVER['REQUEST_URI'], '/wp-admin/') === FALSE) {
$key = array_search( 'was-this-helpful-pro/was-this-helpful-pro.php' , $plugins );
if ( false !== $key ) {
unset( $plugins[$key] );
}
}
return $plugins;
}
我还发现了另一个适用于其他页面的代码......但它是同样的故事,我不知道如何使它适用于首页,只适用于子页面**
$listener_term = '/subpage/';
$current_url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '';
// listener for the thin load
if ( strstr( $current_url, $listener_term ) ) {
add_filter( 'option_active_plugins', 'api_request_disable_plugin' );
}
function api_request_disable_plugin( $plugins ) {
$plugins_not_needed = array(
'backupwordpress/backupwordpress.php',
'wordfence/wordfence.php',
'contact-form-7-to-database-extension/contact-form-7-db.php',
'contact-form-7/wp-contact-form-7.php',
'wp-piwik/wp-piwik.php',
'simple-responsive-slider/simple-responsive-slider.php',
'google-sitemap-plugin/google-sitemap-plugin.php',
'category-page-icons/menu-compouser.php',
'easy-fancybox/easy-fancybox.php',
'business-owner-switch/business-owner-switch.php',
'wordpress-seo/wp-seo.php'
);
foreach ( $plugins_not_needed as $plugin ) {
$key = array_search( $plugin, $plugins );
if ( false !== $key ) {
unset( $plugins[ $key ] );
}
}
return $plugins;
}
有什么想法吗?
我想我应该提一下:
无论我如何尝试,它们都不适用于首页/主页。
最佳答案
我没有意识到您仅希望它发生在首页上 - 代码片段表明您也希望它发生在其他一些页面上。
我之前建议您可以使用 is_home 或 is_front_page,但在我们这样做的阶段,它们尚未加载 - 因此这里的替代方法是加载 REQUEST_URI 并查看它是否为空。如果为空,我们将假设我们位于主页上 - 为了满足可能不在根目录的安装,我们将 URL 与站点的相对主页位置进行比较 - 为了增加安全性,我们将其封装在 htmlspecialcharacters 中(可能没有必要) )。
也许尝试这样的事情(看,这可能不是最好的方法,但它确实对我有用):
add_filter( 'option_active_plugins', 'lg_disable_plugin' );
function lg_disable_plugin($plugins){
if (htmlspecialchars(trim(wp_make_link_relative(get_site_url()),'/')) == htmlspecialchars(trim($_SERVER['REQUEST_URI'],'/'))) {
$key = array_search( 'was-this-helpful-pro/was-this-helpful-pro.php' , $plugins );
if ( false !== $key ) {
unset( $plugins[$key] );
}
}
return $plugins;
}
如果您想对多个插件执行此操作,可以将代码更改为以下内容:
add_filter( 'option_active_plugins', 'lg_disable_plugin' );
function lg_disable_plugin($plugins){
if (htmlspecialchars(trim(wp_make_link_relative(get_site_url()),'/')) == htmlspecialchars(trim($_SERVER['REQUEST_URI'],'/'))) {
$plugins_not_needed = array ('was-this-helpful-pro/was-this-helpful-pro.php',
'pluginfolder/plugin-name.php');
foreach ( $plugins_not_needed as $plugin ) {
$key = array_search( $plugin, $plugins );
if ( false !== $key ) {
unset( $plugins[ $key ] );
}
}
}
return $plugins;
}
关于php - 仅在 WordPress 首页/主页上禁用特定插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36050259/
我是一名优秀的程序员,十分优秀!