Welcome to the Question2Answer Q&A. There's also a demo if you just want to try it out.

New Plugin: Plugin Order (required core hack)

+2 votes
432 views
asked May 11, 2013 in Plugins by sama55

This plugin(required core hack) changes plugin execution order.

Plugins is executed in order of plugin folder name under qa-plugin. There is a case where you would like to change this order depending on the processing of plugin. These needs grow in the environment which has installed many plugin which changes layer or CSS, JS especially. Since user of this plugin is probably power user, the person who began to use Q2A does not need to use this plugin. 

Download Plugin

I hope to be equipped by the following Q2A version up.

Best regards.

Q2A version: 1.5 later
commented May 12, 2013 by q2apro
great idea!

PS: I see so many "self::PLUGIN" calls ;) in your code... but nevermind, it is most important that it works!

1 Answer

+1 vote
answered May 30, 2013 by Methen
What exactly does this plugin do ?
commented May 30, 2013 by sama55
See: qa-base.php (qa_load_plugin_files())
$pluginfiles=glob(QA_PLUGIN_DIR.'*/qa-plugin.php');

glob() makes plugin-name-array in order of folder name. An order is manipulated after this line. I explain to slight degree for those who cannot understand the necessity for this feature.

This feature exist always in many systems. This feature prevents problem related in plugin execution order. What is problem related in plugin execution order? Yes, It is related to program which action by concept of "inheritance" / "override" of "Object Oriented Programing".

Example1 (Override function):
Many functions of Q2A are overrided. For example, theme customization is realized by overriding function of qa-theme-base.php. When there is two or more plugin which carries out the override of same function, result changes by the execution sequence of plugin.

Example2 (CSS decoration):
The definition in which the ornament in CSS appeared behind excels pre definition. When there is two or more plugin which ornaments the same HTML tag, result changes by the execution sequence of plugin.
...