-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Parsing Shortcode Arguments #2
Comments
For my oik plugin shortcodes I considered parsing the code to determine the parameters that the shortcode would accept but eventually I plumped for providing dynamically generated hooks for each shortcode to implement that allowed it to return:
http://www.oik-plugins.com/oik_shortcodes/bw_code/ I also created a simple dialog box to help users with the creation of shortcodes accessible from both TinyMCE and as a quicktag. The code needs a little love and attention... the sort that this shortcode-suggest plugin can give. |
The docblock for a function can be retrieved using reflection. It still needs to be parsed properly though. |
Ah, I didn't know that! Parsing should not be a huge issue I think because of the relatively rigid practices, especially for @param :)— On Fri, Jan 31, 2014 at 3:06 PM, J.D. Grimes notifications@github.com
|
Hi Scott,
Awesome work! We did something like this for our themes for buyers to be able to see what shortcodes there are. We also bumped up agains the "how to document arguments" issue. In the end we created a globally available "documentation array" which we added to when registering each shortcode.
Another method is to parse out phpdoc documentation but this would be a LOT more difficult I imagine as the docblock is added before the function definition.
I've been trying to think of a WordPress standard way to do this, but I don't think it's possible at the moment. The documentation array worked for us, but I don't know if this could/should be widely used.
I will definitely keep an eye on the project and contribute if I can!
Daniel
The text was updated successfully, but these errors were encountered: