2012-03-14 153 views
2

在插件页面中,每个插件的名称下通常都有按钮/链接,如“停用|编辑|设置”。最近在我的一个网站上,“编辑”(和“设置”)按钮消失了。我只是“停用”或“激活|删除”。什么会导致wordpress插件页面插件的编辑按钮消失?

我的问题是 - 什么可能导致这种情况?

我以管理员身份登录,所以我应该看到按钮。我怀疑有些东西可能会泄漏最后一个插件的安装,但我不确定。

当这些按钮被禁用(隐藏)或有错误/错误时是否有一些情况?

编辑
这发生在服务器上。我也有我的本地计算机上运行完全相同的文件(只是比较器检查),其中插件有所有的按钮。我现在正在寻找数据库来寻找差异,但迄今为止还没有发现任何重要的东西。

回答

3

听起来像一个文件权限错误,请确保网络服务器正在运行的(通常是WWW的数据或类似)的用户有写权限的插件文件。

+0

谢谢,该网站在* nix上运行,我在plugins文件夹和所有子文件夹+文件上设置了775的权限,但似乎没有帮助。还是我应该做点别的? – Priednis 2012-03-14 12:24:36

+0

我在[wordpress.stackexchange.com](http://wordpress.stackexchange.com/a/45539/11156)上得到了一个指向'is_writable'函数的答案,它真的返回false。所以我现在正在与管理员澄清... – Priednis 2012-03-14 19:02:15

+1

编辑按钮再次出现后给予文件更多的权限。 – Priednis 2012-03-16 15:54:09

1

这些“按钮”被称为“plugin_action_links”,并且/可以由插件的作者设置。

一些插件作者选择不包括“设置”。

如果您已更新插件,可能是新版本不包括?

插件本身是否工作?

它与其他网站上的版本完全相同吗?

至于“编辑”链接 - 它也可以设置为不显示或通过与用户的权限或链接可见性(如adminimize例如)

做第三方插件被禁用例如如何禁用这些链接的插件作者:

add_filter('plugin_action_links', 'disable_plugin_footlinks', 10, 4); 
function disable_plugin_footlinks($actions, $plugin_file, $plugin_data, $context) { 
    // Remove edit link. if you want to remove selective use if statement 
    if (array_key_exists('edit', $actions)) 
     unset($actions['edit']); 
    // Selectively remove deactivate link for specific plugins with if statement 
    if (array_key_exists('deactivate', $actions) && in_array($plugin_file, array(
     'plugin1_specific_name_folder_/plugin1_name.php', 
     'plugin2_name_folder_/plugin2_name.php' 
    ))) 
     unset($actions['deactivate']); 
    return $actions; 
} 
+0

我编辑了关于本地计算机上相同文件的文本。 – Priednis 2012-03-14 13:36:34

+0

你的OP是关于可能的场景 - 但无论如何它并不重要,如果它在服务器上或本地 - 唯一重要的是如果wp安装和插件在两个(包括设置)上都相同 - 当然,停用所有插件 - 恢复为默认主题 - 然后查看默认插件(如askimet或hello-dolly)是否具有相同的错误。 – krembo99 2012-03-14 13:47:11

+0

插件本身也无法正常工作,但我找到了原因:服务器运行PHP4,并且插件具有'__construct()'样式构造函数,这些构造函数无法识别。不得不添加'function ClassName(){this - > __ construct(); }'的功能来纠正这一点。感谢您的支持! – Priednis 2012-03-16 15:56:01