[wp-hackers] Improvements to the WordPress l10n framework
Omry Yadan
omry at yadan.net
Sun May 13 06:29:27 GMT 2007
Now that you understood what I meant, take another look at the file
(http://hcoop.net/~omry/plugins.zip).
the current version does not require that the user specifies the domain
when registering the action.
The stack solution will only work if the plugins does not directly call
each-other, but through actions.
Generally, we should also consider how functions 'overridden' by plugins
will maintain the context.
I`ll try to hack a solution with the stack soon, which should allow one
plugin to call do_action('...') and continue to maintain the context
correctly.
Jamie Talbot wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Omry Yadan wrote:
>
>> Nikolay Bachiyski wrote:
>>
>>> 2007/5/12, Omry Yadan <omry at yadan.net>:
>>>
>>>> the idea is the code that initializes the plugins initialize a global
>>>> called $plugin_id before calling the plugin init code.
>>>> when the plugin adds an action, it will pass that global to the
>>>> add_action function, that will use it to re-obtain context when calling
>>>> the actions.
>>>>
>>> We cannot do this. What happens if the plugin function calls a core
>>> function and then it calls other plugin function? It is possible that
>>> either core strings are being searched for in the plugin domain or,
>>> worse, one plugin\s string is being looked for in other plugin's
>>> domain.
>>>
>> Good point.
>> it can be solved (I think) by using a stack.
>> instead of setting and unsetting the current plugin_id, push it and pop
>> it from a global stack.
>>
>
> Now that I've seen some code and understand how context will be retained, this isn't necessarily a
> bad idea. You are of course, swapping the need to specify a domain on each string to specifying a
> domain on each filter/action, but in the majority of cases there will be a lot fewer. If a
> stack-based implementation can be worked out, this might work well - I suspect this will be more
> difficult than it sounds, however. And, instead of using a speculative plugin domain, why not let
> plugin authors decide their own? The suggestion I made on Trac for specifying a plugin domain in
> the plugin header would be ideal for this[1].
>
> Your mechanism of adding domains to filters would also incidentally allow improvements to did_action
> which I'd really like to see, but which we have no current way of doing. In fact, it's exactly what
> I wished we already had[2]!
>
> Cheers,
>
> Jamie.
>
> [1] http://trac.wordpress.org/ticket/3089#comment:8
> [2] http://trac.wordpress.org/ticket/4235#comment:3
>
> - --
> http://jamietalbot.com
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.5 (MingW32)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iD8DBQFGRpvqrovxfShShFARAjLCAJ0bEQZ0eWAjNRLE1p3fQhhP9ou/nACcCo/t
> gaBCKoCGFQ6CGtSoWU0qnH8=
> =5W4X
> -----END PGP SIGNATURE-----
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
>
More information about the wp-hackers
mailing list