WordPress如何确定主要的插件PHP文件?

时间:2017-01-10 作者:Juicy

(背景:我正试图通过直接向active_plugins 行输入wp_options, 我在确定一些插件的主PHP文件时遇到了一个问题。)

大多数插件的主PHP文件只是存根的名称,带有.php 追加;例如plugin-name/plugin-name.php.

然而,并非所有插件都是如此。WP Super Cache 例如,具有以下结构:

wp-super-cache
├── Changelog.txt
├── advanced-cache.php
├── languages
├── ossdl-cdn.php
├── plugins
├── readme.txt
├── wp-cache-base.php
├── wp-cache-config-sample.php
├── wp-cache-phase1.php
├── wp-cache-phase2.php
├── wp-cache.php
└── wp-super-cache.pot
如果查看插件管理面板,可以通过以下链接激活此插件:

\'http://localhost/testing/wp-admin/plugins.php?action=activate&plugin=wp-super-cache%2Fwp-cache.php&plugin_status=all&paged=1&s&_wpnonce=cbc0e620a3\'

/* Note how WP has determined: plugin=wp-super-cache/wp-cache.php */

My question is, how does WP determine which PHP file in a plugin directory is the main PHP file?

或者换句话说,如果我想手动更新active_plugins option_valuewp_options 表中,我如何知道要引用哪个PHP文件?

我试图通过挖掘代码来解决这个问题,但它非常复杂,我迷路了。我想WP可能会查看每个文件的前X行,以找到带有横幅信息(作者、插件名称等)的文件但这似乎很尴尬。

1 个回复
最合适的回答,由SO网友:Mark Kaplun 整理而成

插件没有“主”文件。每个有插件头的文件都是一个插件,其余的则不是。按照惯例,一个目录中只有一个文件的标题,但我看到“插件”在一个目录中有多个这样的文件,它们在管理中以多个插件的形式出现,但那是很久以前的事了,我想现在没有人这样做。

相关推荐

插件放置在/wp-content/plugins内的文件夹中时不保存值

我得到了WordPRess插件的以下代码,它在每个页面/后期编辑屏幕上添加了两个自定义输入。然后将这些值保存并输出到前端页面的标题中。如果代码位于内部,则可以正常工作。php文件并直接放入“wp内容/插件”。然而,如果我把它放在插件(如“wp-content/plugins/myplugin”)中自己的文件夹中,那么在通过编辑屏幕保存帖子/页面时,输入字段不会保存。此外,它不会向前端页面html标题部分输出任何内容。这似乎是一个被放弃的项目,所以我无法与原始开发人员一起制定解决方案。然而,代码中的某些内容