In Programación, Wordpress

En anteriores post ya os hablé de Widget Logic, que es un plugin con el que poder manejar la aparición o no de tus wodgets en WordPress.

También vimos varios ejemplos de como trabajaba Widget Logic, y de como añadir condicionales para la aparición de nuestros widgets. Por ejemplo: is_home(), is_category(‘contacto’), is_category(8), in_category(9), in_page(), is_home || in_category(array(’23′,’34′), etc….

Por experiencia te digo, que muchos de los condicionantes que tenemos en el Worpdress nativo, se nos quedan cortos. Así que hoy te voy a mostrar varias funciones que puedes añadir al core de wordpress, y ganar el versatilidad a la hora de crear tus condicionantes PHP.

Lo primero es ubicarte y decirte donde tienes que añadir estas funciones (o cualqier otra que se te ocurra) para que Widget Logic las “pille” sin problemas. Tienes que irte a la carpeta wp-includes de tu wordpress y al archivo query.php que encontrarás ahí dentro. Te situas en el final de archivo y puedes empezar a añadir funciones.

Decirte, que puedes llamar como quieras a estas funciones, y que las puedes llamar desde widdget Logic con ese mismo nombre.

function is_hijo( $page_path ){
 if( !is_page() ){
 return false;
 }
 $ancestors = get_post_ancestors( get_queried_object_id() );
 $page = get_page_by_path( $page_path );
 if( $page )
 return in_array( $page->ID, $ancestors );
 return false;
 }

Esta función como su nombre dice, es para avariguar si una pagina es hija de otra superior.

 

function in_url( $page_path ){
 $cadena2= $_SERVER['REQUEST_URI'];
 $buscar2= $page_path;
 if(eregi($buscar2, $cadena2)) {
 return true;
 } else {
 return false;
 }
 }

 

Esta función te dice, si en la URL de nuestra web,se encuentra alguna palabra.

 

function get_parent_category() {
 foreach ((get_the_category()) as $cat) {
 if ($cat->category_parent) return $cat->category_parent;
 else return $cat->cat_ID;}
 }
 function in_hijo( $page_path ){
$id = get_parent_category();
if ($id == $page_path) {
return true;
} else {
return false;
}
}

 

Esta ultima función, se puede utilizar para saber si te encuentras dentro de una categoría hijo de una categoría marcada

Contacta con Nosotros

Puedes contactar con nosotros sin compromiso. Atenderemos tus dudas gustosamente!!