Wordpress / PHP: получить значение переменной вне цикла

В моем шаблоне WordPress (который я разрабатываю) у меня есть header.php и часть шаблона с именем header-head.php (вызываемая в header.php). В index.php у меня есть другой шаблон parte с именем content.php (вызывается в index.php). Я пытаюсь получить информацию о первом посте таксономии (названном чувством), который я создал, и вернуть значение в header-head.php.

Код content.php:

$terms = get_the_terms($post->ID, 'feeling');
foreach ($terms as $term) {
    //Always check if it's an error before continuing. get_term_link() can be finicky sometimes
    $term_link = get_term_link( $term, 'feeling' );
    if( is_wp_error( $term_link ) )
        continue;
    //We successfully got a link. Print it out.
    $term_return = '<a href="' . $term_link . '">Feeling ' . $term->name . '</a>';
}

if ( has_term( '', 'feeling' ) AND $count == 0 ) {
    $latest_feeling = "<p class='feeling-text'>" . $term_return . "</p>";
    $GLOBALS['feeling_post'] = $latest_feeling;
}

Код header-head.php:

$feeling_return = $GLOBALS['feeling_post'];
echo $feeling_return;

Возможно, вы заметили переменную $ count, которая подсчитывает количество постов для проверки первого поста. Я сделал это в файле index.php, а затем получил значение в файле content.php, используя $GLOBALS, но теперь я не получаю...

Код цикла index.php:

<?php if ( have_posts() ) : ?>
    <?php $count = 0; ?>

        <?php /* Start the Loop */ ?>
        <?php while ( have_posts() ) : the_post(); ?>
        <?php $GLOBALS['count_post'] = $count++; ?>

            <?php
                /* Include the Post-Format-specific template for the content.
                 */
                get_template_part( 'partials/content', get_post_format() );
            ?>

        <?php endwhile; ?>

        <?php sensibus_paging_nav(); ?>

    <?php else : ?>

        <?php get_template_part( 'partials/content', 'none' ); ?>

    <?php endif; ?>

Кто-нибудь может мне помочь? Что я делаю неправильно?

0 ответов

Другие вопросы по тегам