Un pequeño truco rápido para cuando necesitamos incluir una parte de nuestro WordPress

Por ejemplo, el típico bucle para mostrar las noticias:

El bucle

<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
 <?php get_template_part('loop'); ?>
<?php endwhile; endif; ?>

El problema

Esta perfecto, el problema viene si por ejemplo queremos mostrar el número de la entrada actual, podríamos hacer esto:

$index = 0;
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
 <?php get_template_part('loop'); ?>
 <?php $index++; ?>
<?php endwhile; endif; ?>

Pero si probamos a acceder $index dentro del archivo loop.php nos dará error

La solución

Para poder acceder a la variable, debemos cambiar un poco el código:

$index = 0;
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
 <?php include(locate_template('loop.php')); ?>
 <?php $index++; ?>
<?php endwhile; endif; ?>

De esta forma la variable $index es accesible des de dentro del archivo loop.php 🙂


( ! ) Notice: compact(): Undefined variable: limits in /home/mageekla/public_html/polsola/wp-includes/class-wp-comment-query.php on line 853
Call Stack
#TimeMemoryFunctionLocation
10.0002401120{main}( ).../index.php:0
20.0003401400require( '/home/mageekla/public_html/polsola/wp-blog-header.php' ).../index.php:17
30.238912381960require_once( '/home/mageekla/public_html/polsola/wp-includes/template-loader.php' ).../wp-blog-header.php:19
40.246912478000include( '/home/mageekla/public_html/polsola/wp-content/themes/polsola/single.php' ).../template-loader.php:74
50.367013846288comments_template( ).../single.php:78
60.367213847312WP_Comment_Query->__construct( ).../comment-template.php:1410
70.367213847312WP_Comment_Query->query( ).../class-wp-comment-query.php:302
80.367213847312WP_Comment_Query->get_comments( ).../class-wp-comment-query.php:346
90.367313853200WP_Comment_Query->get_comment_ids( ).../class-wp-comment-query.php:395
100.367613859000compact ( ).../class-wp-comment-query.php:853

( ! ) Notice: compact(): Undefined variable: groupby in /home/mageekla/public_html/polsola/wp-includes/class-wp-comment-query.php on line 853
Call Stack
#TimeMemoryFunctionLocation
10.0002401120{main}( ).../index.php:0
20.0003401400require( '/home/mageekla/public_html/polsola/wp-blog-header.php' ).../index.php:17
30.238912381960require_once( '/home/mageekla/public_html/polsola/wp-includes/template-loader.php' ).../wp-blog-header.php:19
40.246912478000include( '/home/mageekla/public_html/polsola/wp-content/themes/polsola/single.php' ).../template-loader.php:74
50.367013846288comments_template( ).../single.php:78
60.367213847312WP_Comment_Query->__construct( ).../comment-template.php:1410
70.367213847312WP_Comment_Query->query( ).../class-wp-comment-query.php:302
80.367213847312WP_Comment_Query->get_comments( ).../class-wp-comment-query.php:346
90.367313853200WP_Comment_Query->get_comment_ids( ).../class-wp-comment-query.php:395
100.367613859000compact ( ).../class-wp-comment-query.php:853

Deja un comentario