Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a backwards-compatibility break. If your theme or plugin is using some of next action hooks and your are connecting the output between them then take a look a this explanation
Hooks have been called in this order (until this PR):
cmb2_before_form
cmb2_before_{$object_type}_form_{$cmb_id}
cmb2_after_form
cmb2_after_{$object_type}_form_{$cmb_id}
And now they are called at this order:
cmb2_before_form
cmb2_before_{$object_type}_form_{$cmb_id}
cmb2_after_{$object_type}_form_{$cmb_id}
cmb2_after_form
Why? Because this means call this hooks is really dangerous because you could break your html if you expect a relative order, for example, if two plugins using this hooks to print something, the most common workflow is use same relative callbacks (
cmb2_before_form
andcmb2_after_form
) or (cmb2_before_{$object_type}_form_{$cmb_id}
andcmb2_after_{$object_type}_form_{$cmb_id}
)A visual example with two plugins (Plugin 1 and Plugin 2):
Current order:
cmb2_before_form
Plugin 1 opens a divcmb2_before_{$object_type}_form_{$cmb_id}
Plugin 2 prints a pcmb2_after_form
Plugin 1 closes the divcmb2_after_{$object_type}_form_{$cmb_id}
Plugin 2 closes the pResult:
New order:
cmb2_before_form
Plugin 1 opens a divcmb2_before_{$object_type}_form_{$cmb_id}
Plugin 2 prints a pcmb2_after_{$object_type}_form_{$cmb_id}
Plugin 2 closes the pcmb2_after_form
Plugin 1 closes the divResult: