@Byran M. Tiendo a usar dos construcciones que no veo a otros desarrolladores de WordPress con frecuencia, lo que me sorprende, pero me gustan mucho.
1.) Heredocs
Puede almacenar grandes bloques de texto como una cadena heredocs que podría tener este aspecto para que pueda almacenar la preocupación de mezclar comillas simples y dobles:
$html=<<<HTML
<input type="{$type}" size="{$size}" id="{$id}" class="{$class}" value="{$value}" />
HTML;
Tenga en cuenta que las variables pueden pasarse a una función como una matriz y luego extract()
editarse o puede asignarlas de otras maneras. También tenga en cuenta que uso las llaves no porque siempre sean necesarias sino que hacen que el código sea más fácil de leer. (Por supuesto, con funciones como the_content()
ser materialmente diferente de get_the_content()
WordPress no siempre facilita este estilo de codificación).
Lo que es más, aunque puede no ser relevante para usted es que si uso nombres heredoc como HTML, SQL, etc., entonces mi IDE PhpStorm realiza la inyección de sintaxis y me dará autocompletado y coloración de sintaxis dentro del heredoc.
2.) Concatenación de cadenas usando una matriz
El otro idioma que me gusta usar es recopilar el contenido en una matriz y luego implode()
la matriz. Aunque nunca he comparado esto, por lo que podría ser menos útil de lo que supongo, sé que la concatenación repetida de cadenas es mortal porque las cadenas se hacen más grandes (si alguien sabe por qué este enfoque no es mejor o si conoce un enfoque mejor, yo me encantaría escuchar comentarios):
function my_get_form_and_fields($input_items) {
$html = array();
$html[] = '<form name="my_form" method="get">';
foreach($input_items as $input_item) {
extract($input_item);
$html=<<<HTML
<input type="{$type}" size="{$size}" id="{$id}" class="{$class}" value="{$value}" />
HTML;
$html[] = '</form>';
return implode("\n",$html);
}