Welcome to the Question2Answer Q&A. There's also a demo if you just want to try it out.
+3 votes
477 views
in Plugins by

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
by
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
by
What exactly does this plugin do ?
by
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.
...