lucid-toolbox
Tools
Open Source
PHP
WordPress
Lucid Toolbox
A set of classes used to speed up and automate common tasks.
-
Lucid_Admin_Column
for adding custom admin columns. -
Lucid_Post_Type
for creating custom post types. -
Lucid_Taxonomy
for creating custom taxonomies. -
Lucid_Settings
for creating settings pages using the Settings API. -
Lucid_Contact
for creating contact forms. -
Lucid_WPAlchemy
(forked fromWPAlchemy_MetaBox
) for creating metaboxes.
The plugin doesn’t do anything by itself, apart from loading language files. It simply allows usage of the classes through something like:
if ( defined( 'LUCID_TOOLBOX_CLASS' ) && ! class_exists( 'Lucid_Settings' ) )
require LUCID_TOOLBOX_CLASS . 'lucid-settings.php';
Read more about each class in the included documentation, located in the ‘doc’ directory.
Lucid Toolbox is currently available in the following languages:
- English
- Swedish
Changelog
1.2.3: Feb 18, 2018
Lucid_Settings 1.8.1
- Tweak: Allow numbers in editor IDs.
-
Fix: Remove deprecated
screen_icon
calls.
Lucid_WPAlchemy 1.6.1
-
Fix: Don’t count
null
, fixes PHP 7.2 warning.
1.2.2: Jan 08, 2017
Lucid_Contact 1.9.0
-
New: Public setters for form and field messages,
set_field_error
andset_form_status
(withset_form_error
,set_form_warning
andset_form_success
helpers for using the correct class names). Should probably add the same three ‘levels’ for field messages. -
New: Run the
lucid_contact_sent
action when a message is sent. -
Tweak: Improve file fields, primarily the error handling
- Improve inline error messages
- Remove successfully uploaded files when there are errors
- Improve validation, including stricter checking of file size and MIME types
- Tweak: More default allowed extensions and MIME types should now cover most of the commonly used document and image formats. Allow merging with defaults when adding custom ones via new parameter, instead of just overwriting.
- Tweak: Disable the email DNS check by default.
- Fix: Ensure POST values belong to the current form, in case of multiple forms with the same field names on the same page.
Lucid_WPAlchemy 1.6.0
- New: Handle cloning of multiple ‘roots’ for repeatable groups, instead of just the first one.
-
New: Add a second parameter to
[get_]the_group_open
for adding extra classes to the group warpping element.
Lucid_Admin_Column 1.0.1
-
Fix: Use
call_user_func
PHP 5.3 compatibility.
1.2.1: Sep 25, 2016
Lucid_Contact 1.8.0
-
New: Set separate Reply-To addresses with
$[extras_]reply_to_name
and$[extras_]reply_to_address
. The extra recipient properties are also no longer required, falling back to the regular ones if not set. -
New: Setting the
value
on textual fields now pre-fills instead of ignoring. -
New:
get_subject
andget_message
are now public, because anything else doesn’t make any sense.
1.2.0: Mar 01, 2015
Lucid_Admin_Column 1.0.0
A new class for adding custom columns to admin post lists. Can be used both as a standalone class and as a new argument for Lucid_Post_Type
. See included docs for usage.
Lucid_Post_Type 1.3.0
-
New: Add
'columns'
argument for adding custom admin columns to the post type, usingLucid_Admin_Column
.
1.1.12: Feb 23, 2015
Lucid_Post_Type 1.2.1
-
Tweak: Deprecate the custom icon arguments, use the built-in
menu_icon
instead.
Lucid_Settings 1.8.0
-
New: Add
menu
method to create top level menu items. -
New: Add
'editor_settings'
parameter tofield
for custom arguments to wp_editor when adding editor fields. -
New: Add
load_callback
property that can be set to a callable, which is called on the load-(page) hook only when on the settings page.
WPAlchemy_MetaBox 1.5.2.lucid-2, now Lucid_WPAlchemy
With this version it’s a complete fork and will not fully match the original class.
- New: Add defaults to checkbox, select and radio from upstream.
-
Tweak: Change the class name to
Lucid_WPAlchemy
. If noWPAlchemy_MetaBox
class exists, it will be defined and extendLucid_WPAlchemy
to keep backwards compatibility. This may be removed eventually. -
Tweak/fix: Improve the JavaScript for repeatable field’s copy/delete and make it work when using the
area
argument. - Tweak: Some general code style changes and cleanup.
-
Remove: All display options have been removed:
hide_title
,hide_editor
,lock
,view
andhide_screen_option
. They were relying on JavaScript and CSS to accomplish their purpose and didn’t feel future proof or maintainable. Removing the editor can be done on the post type itself and thearea
argument can handle different placements. The title should always be editable, even if it’s not used publicly.
1.1.11: Apr 13, 2014
Lucid_Contact 1.7.0
-
New: Add
reverse_validation
argument toadd_field
, which reverses any custom regex validation result. True by default due to initially stupid thinking and thus backwards compatibility. -
New: Add the self-explanatory
get_field_data
method. - New/tweak: Allow any values for checkboxes instead of defaulting to boolean. Derp.
-
New/tweak: Validation methods are now public and the default validation can be disabled by setting the new
validate_send
property to false. Allows ‘faking’ a POST and using data from another source. - Tweak: Don’t count zeroes as empty values in validation.
-
Tweak/fix: Don’t add
aria-required
to checkboxes, since it’s invalid HTML for some reason. - Tweak/fix: Remove referer check, since it’s not always set.
-
Fix: Add UTF-8 modifier (
u
) to line break regex. Fixes some other characters getting garbled.
1.1.10: Dec 09, 2013
-
Tweak/fix: Include this temporary workaround for the issue with
__FILE__
in symlinked plugins, see trac ticket #16953.
Lucid_Post_Type 1.2.0
-
New: Add
icon
argument for the new Dashicons in WordPress 3.8.
Lucid_Settings 1.7.0
-
New: Add
is_on_settings_page
method, which returns true if the settings page is currently displayed. This can be wrapped in an if statement around thefield
calls to reduce unnecessary function calls. - Tweak/fix: Fix some notices and encoding issues, and improve the error highlighting script.
-
Fix: Restore missing inline label argument for
add_settings_field
callbacks.
WPAlchemy_MetaBox 1.5.2.lucid-1
-
New: Add
area
argument (string). Defaults tometabox
, which doesn’t do anything different. Can also be set toafter_title
orafter_editor
, which will add the metabox template content directly to the page in those places. Since it’s not a meta ‘box’ in those cases, arguments like title, context etc. won’t have any effect. -
Tweak: Move the htmlentities filtering from
get_the_value
tothe_value
, so that the pure data can be passed to a wp_editor instance.
1.1.9: Nov 03, 2013
Lucid_Settings 1.6.0
-
New: Add
'output_callback'
parameter tofield
, which allows custom callback methods for the field HTML. - New/tweak: What should have been done right from the start: if a field type is not ‘supported’, just add it as input [type] instead of converting to text.
-
Tweak: Add
novalidate
to the form, to disable inconsistent browser validation of some field types. -
Fix: The
html
method now works with checklists.
Lucid_Contact 1.6.2
-
New: Add the
is_form_sent
method for checking the success state. -
New: Add
aria-required
andaria-invalid
attributes to fields when appropriate.
1.1.8: Oct 20, 2013
Lucid_Settings 1.5.1
-
Tweak: Don’t call
settings_errors
on options pages, since they’re apparently called automatically there. If I’ve finally understood this correctly,pass_settings_errors_id
should no longer be needed.
1.1.7: Oct 06, 2013
Lucid_Settings 1.5.0
-
New: Add
color_picker
field type, to show a color picker (duh). -
Tweak: Default
pass_settings_errors_id
to false instead of true. I seem to always set this to false nowadays, so the double message behavior may have been a bug that has been fixed.
Lucid_Contact 1.6.1
- Tweak: Ignore validation on optional fields if the value is empty. This allows validation on optional fields, while still allowing them to be optional. One example would be an optional email field; an empty value shouldn’t cause an error, but a filled one should if the email is invalid.
-
Tweak: Set
input-error
CSS class on input fields with errors.
1.1.6: Sep 16, 2013
Lucid_Contact 1.6.0
-
New: Finally add a stupidly obvious way of freely using HTML without
add_to_field_list
, by separating the form assembly and render methods. See new ‘Separate field rendering’ section in the documentation. -
Tweak: Disable the nonce field added in 1.5.2 by default. A nonce can cause issues if caching is used, since the nonce string can be cached and thus invalid for a time until the cache is renewed. A hidden field with the internal form ID is used instead, so there can still be multiple forms on the same page. The new
use_nonce
property (defaults to false) can be used to get the old behavior.
1.1.5: Aug 25, 2013
Lucid_Post_Type 1.1.2
- Tweak: Check the post type name before registering and trigger errors if it’s invalid.
Lucid_Taxonomy 1.1.3
- Tweak: Check the taxonomy name before registering and trigger errors if it’s invalid.
Lucid_Settings 1.4.0
- New: Add post and page select list fields,…