@Byran M. Tendo a usare due costrutti che non vedo spesso altri sviluppatori WordPress che usano spesso, il che mi sorprende, ma mi piacciono molto.
1.) Heredocs
Puoi archiviare grandi blocchi di testo come stringa heredocs che potrebbero apparire così, così posso archiviarmi preoccupandomi di mescolare virgolette singole e doppie:
$html=<<<HTML
<input type="{$type}" size="{$size}" id="{$id}" class="{$class}" value="{$value}" />
HTML;
Si noti che le variabili potrebbero essere passate a una funzione come una matrice e quindi modificate extract()
oppure è possibile assegnarle in altri modi. Si noti inoltre che uso le parentesi graffe non perché sono sempre richieste ma rendono più semplice la lettura del codice. (Naturalmente con funzioni come the_content()
essere materialmente diverse da get_the_content()
WordPress non sempre questo stile di programmazione è facile.)
Inoltre, anche se potrebbe non essere rilevante per te, se uso nomi ereditari come HTML, SQL, ecc., Il mio IDE PhpStorm esegue l'iniezione di sintassi e mi darà il completamento automatico e la colorazione della sintassi all'interno dell'ereditarietà.
2.) Concatenazione di stringhe utilizzando una matrice
L'altro linguaggio che mi piace usare è quello di raccogliere il contenuto in un array e quindi implode()
nell'array. Anche se non l'ho mai confrontato, quindi potrebbe essere meno utile di quanto presumo, so che la concatenazione di stringhe ripetute è un killer poiché le stringhe diventano più grandi (se qualcuno sa perché questo approccio non è migliore o se conosci un approccio migliore I mi piacerebbe ricevere feedback):
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);
}