Objetos en WordPress
Como había adelantado en la anterior entrada voy a exponer un ejemplo del uso de los objetos en WordPress. No soy un experto en PHP ni en la programación de back-end pero llevo toda la vida trabajando con desarrolladores en estos campos y algo he aprendido, por lo tanto esta entrada estará dedicada a aquellos que como yo están tratando de abrirse camino en ese mundo de la programación seria y organizada.
Siempre he escuchado que esta muy mal repetir código dentro de un proyecto web, si ya hiciste algo debes procurar poder reutilizarlo en otras zonas pero sin el copiar y pegar clásico. Por lo tanto cuando estaba desarrollando el thema de este portfolio me di cuenta que precisamente estaba haciendo eso, repetir código por todos lados. Por ejemplo en una misma página tenia esta función de WP:
$args = array( 'posts_per_page'=> 5, 'post_parent' => 3, 'post_type' => 'page', ); query_posts( $args );
que se repetía en varios lugares con la única diferencia que en vez de 5 post por página tenía 10 o simplemente agregaba una línea más como esta por ejemplo:
'post__not_in' => array($post->ID)
Entonces me pregunte sino era posible crear una clase general con esa función y simplemente llamarla cada vez que quisiera. Vino en mi ayuda Jorge, un compañero de trabajo que es un crack y me dio la solución que es increíblemente simple: creas un fichero nuevo y lo nombras digamos _classQuery.php, creas la clase de la cual vas a extender de la siguiente manera:
class Pages { public static function query($options=array()) { $options += array( 'posts_per_page'=> 5, 'post_parent'=> 3, 'post_type' => 'page' ); return query_posts($options); } }
Para usarla en nuestras páginas solo debemos llamarla de la siguiente manera:
Pages::query()
Y si queremos sobrescribir o crear un nuevo parámetro:
Pages::query(array( 'posts_per_page' => 1, ));
Esto es muy simple pero gracias a ello no solo ahorramos código sino que nuestra aplicación es mucho más efectiva y rápida.
PHP \\ PHP, Wordpress \\ No hay comentarios