[wp-trac] [WordPress Trac] #60948: shortcodes that return with no value / text will break if shortcode is being used as an attribute value

WordPress Trac noreply at wordpress.org
Sat Apr 6 19:11:31 UTC 2024


#60948: shortcodes that return with no value / text will break if shortcode is
being used as an attribute value
--------------------------+-----------------------------
 Reporter:  vpelss        |      Owner:  (none)
     Type:  defect (bug)  |     Status:  new
 Priority:  normal        |  Milestone:  Awaiting Review
Component:  General       |    Version:  6.5
 Severity:  normal        |   Keywords:
  Focuses:                |
--------------------------+-----------------------------
 shortcodes that return with no value / text will break if shortcode is
 being used as an attribute value. Shortcode works in this scenario if
 there is text / value returned.

 eg: <input type="email" class="regular-text ltr form-required"
 id="imok_contact_email_1"
 name="imok_contact_email_1" value=[imok_contact_email_1] title="Please
 enter a valid email address."    required>

 if [imok_contact_email_1] returns an empty string, the result of the input
 tag above is:
 <input type="email" class="regular-text ltr form-required"
 id="imok_contact_email_1" name="imok_contact_email_1"
 value=  title="Please enter a valid email address." required>

 This mangles the html output and the attribute for value becomes:
 value="title="Please"

 Placing the shortcode between quotes fails for the following reason:
 See: https://core.trac.wordpress.org/ticket/34983

 Offending code is in shortcodes.php
 function do_shortcodes_in_html_tags
 line:
 if ( '' !== trim( $new_attr ) ) {
 I am not sure why that line exists.

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/60948>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list