BP_Core_HTML_Element::__construct( array $r = array() )
Constructor.
Description
Parameters
- $r
-
(Optional) An array of arguments.
- 'element'
(string) The element to render. eg. 'a' for the anchor element. - 'attr'
(array) Optional. The element's attributes set as key/value pairs. eg. array( 'href' =><a href="http://example.com">http://example.com</a>
, 'class' => 'my-class' ) - 'inner_html'
(string) Optional. The inner HTML for the element if applicable. Please note that this isn't sanitized, so you should use your own sanitization routine before using this parameter.
Default value: array()
- 'element'
Source
File: bp-core/classes/class-bp-core-html-element.php
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | public function __construct( $r = array () ) { $elem = sanitize_html_class( $r [ 'element' ] ); if ( empty ( $elem ) ) { return ; } // Render attributes. $attributes = '' ; foreach ( ( array ) $r [ 'attr' ] as $attr => $val ) { // If attribute is empty, skip. if ( empty ( $val ) ) { continue ; } if ( 'href' === $attr || 'formaction' === $attr || 'src' === $attr ) { $val = esc_url( $val ); } elseif ( 'id' === $attr ) { $val = sanitize_html_class( $val ); } else { $val = esc_attr( $val ); } $attributes .= sprintf( '%s="%s" ' , sanitize_html_class( $attr ), $val ); } // <input> / <img> is self-closing. if ( 'input' === $elem || 'img' === $elem ) { $this ->open_tag = sprintf( '<%1$s %2$s />' , $elem , $attributes ); // All other elements. } else { $this ->open_tag = sprintf( '<%1$s %2$s>' , $elem , $attributes ); $this ->inner_html = ! empty ( $r [ 'inner_html' ] ) ? $r [ 'inner_html' ] : '' ; $this ->close_tag = sprintf( '</%1$s>' , $elem ); } } |
Changelog
Version | Description |
---|---|
BuddyPress 2.7.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.