Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
(http://codex.wordpress.org/Conditional_Tags)
Contents
[hide]
1 Introduction
2.16.1 is_tax
2.16.2 has_term
2.16.3 term_exists
2.16.4 is_taxonomy_hierarchical
2.16.5 taxonomy_exists
2.24 An Attachment
2.27 A Single Page, a Single Post, an Attachment or Any Other Custom Post Type
2.31 A Syndication
2.32 A Trackback
2.33 A Preview
5 Function Reference
6 External Resources
Introduction
Las condicionales etiquetas se pueden utilizar en los archivos de la plantilla para cambiar lo que se
muestra en el contenido y la forma en que se muestra el contenido de una pgina en
particular dependiendo de las pginas que coinciden las condiciones. Por ejemplo, es posible que
desee mostrar un fragmento de texto por encima de la serie de posts, pero slo en la pgina
principal de su blog. Con la Etiqueta condicional is_home(), esa tarea se hace fcil.
Tenga en cuenta la estrecha relacin que estas etiquetas tienen con la Jerarqua de Plantilla de
WordPress.
Advertencia: Slo puede utilizar etiquetas de consultas condicionales despus de action
hook posts_selection en WordPress (el wp action hook es la primera de ellas a travs del
cual usted puede usar estas condicionales). Por temas, esto significa que la etiqueta
condicional nunca funcionar correctamente si usted lo est utilizando en el cuerpo de
functions.php, es decir, fuera de una funcin.
When the front of the site is displayed, whether it is posts or a Page. Returns true when the
main blog page is being displayed and the 'Settings > Reading ->Front page displays' is set
to "Your latest posts", or when 'Settings > Reading ->Front page displays' is set to "A static
page" and the "Front Page" value is the current Page being displayed.
Cuando se muestra la parte frontal del sitio, si se trata de post o una pgina . Devuelve
true cuando se muestra la pgina principal del blog y los ' Ajustes >Lectura -> mostrar
Front page "se ajusta en" Sus ltimos post", o cuando "Ajustes > Lectura -> muestra Front
page "se ajusta en" Una pgina esttica "y el" Front Page" tiene como valor la
pgina actual que se muestra.
Una pagina de inicio opcin por defecto default homepage (con los ltimos posts)
Una pagina web estatica static homepage y ninguna pagina del blog.
is_single( '17' )
Cuando Post 17 se esta mostrando como un solo post.
is_single( 'Irish Stew' )
Cuando el Post con Title = "Irish Stew" se esta mostrando como un simple Post.
is_single( 'beef-stew' )
Cuando el Post con Slug = "beef-stew" se esta mostrando como un simple Post.
is_single( array( 17, 'beef-stew', 'Irish Stew' ) )
Retorna true cuando un simple post se esta mostrando con las propiedades ID=17, o
post_name = "beef-stew", or post_title = "Irish Stew".
is_single( array( 17, 19, 1, 11 ) )
Retorna true cuando un simple se esta mostrando con las propiedades ID = 17, o ID=
= 19, o ID = 1 o ID = 11.
is_single( array( 'beef-stew', 'pea-soup', 'chili' ) )
Retorna true cuando un simple se esta mostrando con las propiedades post_name ="beefstew", o post_name ="pea-soup" o post_name ="chili".
is_single( array( 'Beef Stew', 'Pea Soup', 'Chili' ) )
Retorna true cuando un simple se esta mostrando con las propiedades post_title = "Beef
Stew", o post_title = "Pea Soup" or post_title = "Chili".
Nota: Esta funcin no distingue entre el post ID, post_title, o post_name. Un post llamado "17" se
mostrar si se ha solicitado una ID de post de 17. Es de suponer que lo mismo vale para un post
con el slug= "17".
A Comments Popup
is_comments_popup()
When in Comments Popup window.
comments_open()
When comments are allowed for the current Post being processed in the WordPress Loop.
pings_open()
When pings are allowed for the current Post being processed in the WordPress Loop.
A PAGE Page
This section refers to WordPress Pages, not any generic webpage from your blog, or in other words
to the built in post_type 'page'.
Esta seccin se refiere a las Pages de WordPress, no a cualquier pgina web genrica de tu blog,
o en otras palabras a la incorporada en 'page' post_type.
is_page()
Cuando una Page comienza a mostrarse.
is_page( 42 )
Cuando Page (ID=42) es comenzada a mostrarse.
is_page( 'About Me And Joe' )
Cuando la Page con post_title = "About Me And Joe" es comenzada a mostrarse
is_page( 'about-me' )
Cuando la Page con post_name(slug) = "about-me" es comenzada a mostrarse.
is_page( array( 42, 'about-me', 'About Me And Joe' ) )
Retorna true cuando la Pages mostrada tiene cualquiera de estos post ID = 42, o
post_name = "about-me", o post_title = "About Me And Joe".
is_page( array( 42, 54, 6 ) )
Retorna true cuando la Pages mostrada tiene cualquiera de estos post ID = 42, o post ID =
54, o post ID = 6.
Vea tambin is_page() para mas fragmentos snippets.
Note: No existe una funcin para comprobar si una pgina es una subpgina. Podemos evitarnos
este problema:
Is a Page Template
Allows you to determine whether or not you are in a page template or if a specific page template is
being used.
Permite determinar si est o no est en una plantilla de pgina o si se est utilizando una plantilla
de pgina especfica.
is_page_template()
Es un Page Template que se est usando?
is_page_template('about.php')
Es el Page Template 'about' que estoy utilizando?
Note: si el archivo est en un subdirectorio debe incluirlo tambin. Lo que significa que esta debe
ser la ruta de archivo en relacin con el tema, as como el nombre del archivo, por ejemplo pagetemplates/about.php.
A Category Page
is_category( $category )
Cuando la pgina actual se asocia con la categora $category.
is_category( '9' )
Cuando se esta mostrando el archivo page para la Category 9.
is_category( 'Stinky Cheeses' )
Cuando se est mostrando el archivo page para la Category con Name="Stinky Cheeses"
is_category( 'blue-cheese' )
Cuando se est mostrando el archivo page para la Category con Slug= "blue-cheese".
is_category( array( 9, 'blue-cheese', 'Stinky Cheeses' ) )
Retorna true cuando la categora del post que se esta mostrando sus trminos coinciden
con uno de estos term_ID = 9, o slug = "blue-cheese", o name = "Stinky Cheeses".
in_category( '5' )
Retorna true si el post actual esta en la categora con ID=5
in_category( array( 1,2,3 ) )
Retorna true si el post actual esta en la categora con ID = 1, 2, o 3.
! in_category( array( 4,5,6 ) )
Returns true si el post actual no esta en la categora ni 4, 5, or 6.
Note: Asegrese de revisar la ortografa al probar: "is" y "in" son significativamente diferentes.
A Tag Page
is_tag()
Cuando se muestra alguna pagina de archivos Tag.
is_tag( 'mild' )
Cuando se visualiza la pgina de archivo de etiqueta con slug="leve".
is_tag( array( 'sharp', 'mild', 'extreme' ) )
retorna true Cuando se visualiza la pgina de archivo de etiqueta con cualquier slug=
"sharp", "mild", o "extreme".
has_tag()
Cuando el post actual tiene un tag. Ante de la versin 2.7, se debe utilizar dentro del Loop.
has_tag( 'mild' )
cuando el post actual tiene el tag 'mild'.
has_tag( array( 'sharp', 'mild', 'extreme' ) )
Cuando el post actual tiene algn tags de los que esta contenido en el array.
Ver tambin is_archive() y Tag Templates.
has_term
has_term()
Checa si el post actual tiene algn termino. El primer parmetro debera estar vacio. Se
espera un slug/name como un segundo parmetro.
has_term( 'green', 'color' )
Cuando el post actual tiene el termino 'green' desde la taxonomy ='color'.
has_term( array( 'green', 'orange', 'blue' ), 'color' )
Cuando el post actual tiene el termino en el array.
term_exists
term_exists( $term, $taxonomy, $parent )
Devuelve true si $term existe en alguna taxonoma. Si $taxonomy es dada, el trmino
debe existir en sta. El 3er parmetro $parent es tambin opcional, si se da, el trmino
tiene que ser un hijo de este padre, la taxonoma debe ser jerrquica.
is_taxonomy_hierarchical
is_taxonomy_hierarchical( $taxonomy )
Retorna true si la taxonoma $taxonomy es jerrquica. Para declarar una taxonoma
jerrquica, utilice 'hierarchical' => true cuando utilice register_taxonomy () .
taxonomy_exists
taxonomy_exists( $taxonomy )
Returna true if $taxonomy se ha registrado en este sitio usando register_taxonomy().
Ver tambin is_archive().
An Author Page
is_author()
Cuando alguna page Author es mostrada.
is_author( '4' )
Cuando la pagina de archivo para el Author con ID= 4 se esta mostrando.
is_author( 'Vivian' )
Cuando la pagina de archivo para el Author con Nickname = "Vivian" se esta mostrando
is_author( 'john-jones' )
A Multi-author Site
is_multi_author( )
Cuando ms de un autor ha publicado post para un sitio. Disponible con la versin 3.2 .
A Date Page
is_date()
When any date-based archive page is being displayed (i.e. a monthly, yearly, daily or timebased archive).
Cuando alguna pagina de archivo basada en Date se est visualizando (es decir, un
monthly, yearly, daily or time basado en archivo basado en el tiempo).
is_year()
Cuando se esta visualizando un archivo anual yearly.
is_month()
Cuando se esta visualizando un archivo mensual monthly.
is_day()
Cuando se esta visualizando un archivo diario daily.
is_time()
Cuando en una hora, minuto, o secundo hourly, "minutely", or "secondly" se esta
visualizando un archivo.
is_new_day()
Si hoy es un nuevo dia acordado en la fecha del post. Deberia usarse dentro del loop.
Ver tambin is_archive().
son todos los tipos de archivos. Category, Tag, other Taxonomy Term, custom post
type archive, Author and Date-based pages are all types of Archives
A Paged Page
is_paged()
Cuando la pgina que se muestra es "paged". Esto se refiere a un archivo o de la pgina
principal que se divide en varias pginas y devolver true en las pginas segundarias y
posteriores de los post. Esto no se refiere a un post o page cuyo contenido se ha dividido
en pginas utilizando la Quicktag <-! nextpage -> . Para comprobar si un post o page
ha sido dividida en las pginas utilizando la Quicktag
A_Paged_Page.
An Attachment
is_attachment()
Cuando un documento adjunto attachment para un post o page se est mostrando. Un
adjunto es un archivo de imagen o de otro fichero upload con la utilidad de carga del
editor de entradas. Adjuntos se pueden mostrar en su propia "pgina" o plantilla.
Ver tambin Using Image and File Attachments.
Attachment Is Image
wp_attachment_is_image( $post_id )
Devuelve true si el archivo adjunto para el post con ID igual a $post_id es una
imagen. formatos Mime y extensiones permitidas son: jpg, jpeg, gif, png et.
A Local Attachment
is_local_attachment( $url )
Retorna true si el vnculo pasado en $url es un archivo adjunto real desde este sitio.
is_singular()
retorna true para cualquier is_single(), is_page(), o is_attachment().
is_singular( 'foo' )
retorna true si el post_type = "foo".
is_singular( array( 'foo', 'bar', 'baz' ) )
Retorna true si el post_type = "foo", "bar", o "baz".
Ver tambin libro Custom Post Types .
Is Main Query
is_main_query()
Retorna true cuando la query actual (como dentro del loop) es la query principal "main".
Example con el filtro hook the_content
A New Day
is_new_day()
retorna true si hoy es nuevo dia.
A Syndication
is_feed()
Cuando la peticin al sitio es una Syndication. Este tag no es typicamente usado por los
users; se usa internamente por WordPress y esta disponible para los desarrolladores de
Plugin.
A Trackback
is_trackback()
Cuando el sitio solicitado es un hook de WordPress en su motor de Trackback. Esta
etiqueta no es utilizada habitualmente por los usuarios; se utiliza internamente por
WordPress y est disponible para los desarrolladores de plugin.
A Preview
is_preview()
Cuando se muestra un solo post que ha sido visto en modo Draft.
Has An Excerpt
has_excerpt()
Cuando el post actual tiene un excerpt
has_excerpt( 42 )
Cuando el post id = 42 tiene un excerpt.
Is Dynamic SideBar
is_dynamic_sidebar()
Retorna true si el tema es compatible con sidebars dinamicos.
Is Sidebar Active
is_active_sidebar()
Revisa para ver si un sidebar dado esta activo (en uso). Retorna true si el sidebar
(identificado por name o id) esta en uso.
Note: Para mostrar el contenido de un sidebar's, use dynamic_sidebar( $sidebar ).
Is Widget Active
is_active_widget( $widget_callback, $widget_id )
Retorna true si el widget con callback es $widget_callback o el ID = $widget_id
se mostrar en front-end
Nota : Para que sea efectiva esta funcin tiene que correr detrs de los widgets que se han
inicializado, en accin 'init' o later, vase Action Reference
Is Blog Installed
is_blog_installed()
retorna true si el actual est correctamente instalado.
Nota : La cach se comprobar en primer lugar. Si usted tiene un plugin de cach, el cual salva los
valores de cach, entonces esto va a funcionar. Si utiliza la cach por defecto de WordPress, y la
base de datos se va, entonces usted podra tener problemas.
Example
if ( is_rtl() ) {
wp_enqueue_style( 'style-rtl', plugins_url( '/css/style-rtl.css', __FILE__ ) );
wp_enqueue_script( 'script-rtl', plugins_url( '/js/script-rtl.js', __FILE__ ) );
}
Is User Logged in
is_user_logged_in()
Retorna true si algun usuario es logged-in actualmente, en algun roles.
Email Exists
email_exists( $email )
Compruebe si la direccin de correo electrnico dada $email ya ha sido registrado en un
nombre de usuario username y devuelve ese ID usuario o false si no existe.
Username Exists
username_exists( $username )
Compruebe si el nombre de usuario dado $username ya ha sido registrado en un nombre
de usuario y devuelve ese ID usuario o false si no existe.
An Active Plugin
is_plugin_active( $path )
revisa si un plugin esta activo
is_plugin_active( 'akismet/akismet.php' )
comprueba si Akismet esta activado.
is_plugin_inactive( $path )
comprueba si un plugin es desactivado. Igual que !is_plugin_active( $path ).
is_plugin_active_for_network( $path )
Lo mismo para una activacin de la network en una instalacin multisitio.
is_plugin_page()
Esta funcin es obsoleto depuis desde WordPress 3.1, sin ninguna alternativa
conocida.
A Child Theme
is_child_theme()
Comprueba si un child theme esta en uso.
Script Is In use
wp_script_is( $handle, $list )
Devuelve true si el script con handle = $handle ha sido 'registered', 'enqueue/queue',
'done', o 'to_do' dependiendo de $list .
Example
$handle = 'fluidVids.js';
$list = 'enqueued';
if ( wp_script_is( $handle, $list ) ) {
return;
} else {
wp_register_script( 'fluidVids.js', plugin_dir_url(__FILE__).'js/fluidvids.min.js');
wp_enqueue_script( 'fluidVids.js' );
}
Esto sera comprobar si el script llamado 'fluidVids.js' es enqueued encolado. Si no est en cola,
los archivos se registran registered y se enconlan enqueued.
Working Examples
Aqu estn las muestras de trabajo para demostrar cmo utilizar estas etiquetas condicionales.
Simple Post
Este ejemplo muestra cmo utilizar is_single() para mostrar algo especfico slo cuando se ve
una sola pgina post:
if ( is_single() ) {
echo 'This post\'s title is ' . get_the_title();
}
Aadir esta funcin personalizada a sus temas hijos en el fichero functions.php y modificar la
etiqueta condicional para adaptarse a sus necesidades.
if ( is_home() || is_single() ) {
the_content();
}
else {
the_excerpt();
}
When you need display a code or element, in a place that is NOT the home page.
Cuando necesite mostrar un cdigo o elemento, en un lugar que no es la pgina principal home
page.
Date-Based Differences
Si alguien navega por nuestro sitio por fecha, vamos a distinguir los post en diferentes aos
mediante el uso de diferentes colores
<?php
// this starts The Loop
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h2 id="post-<?php the_ID(); ?>">
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to
<?php the_title_attribute(); ?>">
<?php the_title(); ?></a></h2>
<small><?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?>
--></small>
<?php
// are we showing a date-based archive?
if ( is_date() ) {
if ( date( 'Y' ) != get_the_date( 'Y' ) ) {
// this post was written in a previous year
// so let's style the content using the "oldentry" class
echo '<div class="oldentry">';
} else {
echo '<div class="entry">';
}
} else {
echo '<div class="entry">';
}
the_content( 'Read the rest of this entry ' );
?>
</div>
// we're looking at a single category view, so let's show _all_ the categories
echo "<ul>";
wp_list_categories( 'optionall=1&sort_column=name&list=1&children=1&hiera
rchical=1' );
echo "</ul>";
} elseif ( is_single() ) {
// we're looking at a single page, so let's not show anything in the sidebar
} elseif ( is_page() ) {
// we're looking at a static page. Which one?
if ( is_page( 'About' ) ) {
// our about page.
echo "<p>This is my about page!</p>";
} elseif ( is_page( 'Colophon' ) ) {
echo "<p>This is my colophon page, running on WordPress, " .
bloginfo( 'name' ) . "</p>";
} else {
// catch-all for other pages
echo "<p>Vote for Pedro!</p>";
}
} else {
// catch-all for everything else (archives, searches, 404s, etc)
echo "<p>That's all.</p>";
} // That's all, folks!
?>
<form id="searchform" method="get" action="<?php echo
esc_url( $_SERVER['PHP_SELF'] ); ?>">
<div>
<input type="text" name="s" id="s" size="15" />
<input type="submit" value="<?php _e( 'Search' ); ?>" />
</div>
</form>
</div>
<!-- end sidebar -->
A veces las consultas realizadas en otras plantillas como sidebar.php pueden destruir ciertas
etiquetas condicionales. Por ejemplo, en header.php una etiqueta condicional funciona
correctamente, pero no funciona en footer.php de un tema. El truco es poner
wp_reset_query antes de la prueba condicional en el pie de pgina. Por ejemplo:
<?php
wp_reset_query();
if ( is_page( '2' ) ) {
echo 'This is page 2!';
}
?>