@kabbyr

Проблема с single.php. Что делать?

Дело в том, что single.php перестал работать из-за проблемы в header.
В файле header.php есть список для меню в котором должны быть ссылки на определённые посты, которые выводятся через get_posts().

header.php:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/css/bootstrap.min.css" integrity="sha384-r4NyP46KrjDleawBgD5tp8Y7UzmLA05oM1iAEQ17CSuDqnUK2+k9luXQOfXJCJ4I" crossorigin="anonymous">
    <!-- <link rel="stylesheet" href='assets/css/main.css'> -->
    <link rel="preconnect" href="https://fonts.gstatic.com">
    <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet"> 
    <title><? bloginfo('name'); echo " | "; bloginfo('description')?></title>
    <?
        wp_head();
    ?>
</head>
<body>
<header class="header">
        <div class="container start">
        <div class="row middle">
        <div class="col-md-1 white-text tab"><a href="sponsory" class="header_link">Sponsors</a>
            <ul class="list   none stop">

                     <? 
                     $posts = get_posts( array(
                      'numberposts' => -1,
                       'category_name'    => 'sponsors_cards',
                        'orderby'     => 'date',
                        'order'       => 'ASC', 
                        'post_type'   => 'post',
                       'suppress_filters' => true,) ); 
                     foreach( $posts as $post ){
                         setup_postdata($post); 
                         ?>
                        <li class="list-item"><a href="<? echo get_permalink()  ?>"><?the_title()?></a></li> 
                         <?
                     } 
                     wp_reset_postdata(); 
                      ?>   
            </ul>
        </div>
        <div class="col-md-1  white-text tab"><a href='uchastniki' class="header_link">Exhibitors</a>
        <ul class="list  block none stop">
                <? 
                     $posts = get_posts( array(
                      'numberposts' =>-1,
                       'category_name'    => 'exhibitors_cards',
                        'orderby'     => 'date',
                        'order'       => 'ASC', 
                        'post_type'   => 'post',
                       'suppress_filters' => true,) ); 
                     foreach( $posts as $post ){
                         setup_postdata($post); 
                         ?>
                        <li class="list-item"><a href="<? echo get_permalink()  ?>"><?the_title()?></a></li> 
                         <?
                     } 
                     wp_reset_postdata(); 
                      ?>   
            </ul>
        </div>
        <div class="col-md-1  white-text tab"><a href='diktory' class="header_link">Speakers</a>
        <ul class="list  none stop">
                 <? 
                     $posts = get_posts( array(
                      'numberposts' => -1,
                       'category_name'    => 'speakers_cards',
                        'orderby'     => 'date',
                        'order'       => 'ASC', 
                        'post_type'   => 'post',
                       'suppress_filters' => true,) ); 
                     foreach( $posts as $post ){
                         setup_postdata($post); 
                         ?>
                        <li class="list-item"><a href="<? echo get_permalink()?>"><?the_title()?></a></li> 
                         <?
                     } 
                     wp_reset_postdata(); 
                      ?> 
            </ul>
        </div>
        <div class="col-md-1  white-text tab"><a href='media' class="header_link">Media</a> 
        </div>
        <div class="col-md-6 mt-3 white-text"></div>
        <a href='<?echo get_home_url()?>' class="col-md-2 mt-2 company_name"><? bloginfo('name') ?>
        </a>
        
        </div> 
        <div class="row mt-4 mr-1">
            <div class="col-md-2">
             <a href="<? echo get_home_url() ?>"><? the_custom_logo() ?></a>
            </div>
            <div class="col-md-2  one">
                <div class="block"><img  src="<? echo bloginfo('template_url'); ?>/assets/img/UPCOMING_EVENTS.png" alt=""></div>
                <div class="two">
                <a class="header_bottom-link" href="predstoyashhie-sobytiya">UPCOMING EVENTS</a>    
               </div>
            </div>
            <div class="col-md-2 ml-1 one-without">
                <div class="block"><img  src="<? echo bloginfo('template_url'); ?>/assets/img/CONTACTS.png" alt=""></div>
                <div class="two mr-5"><a class="header_bottom-link" href="kontakty">CONTACTS</a> </div>
            </div>
            <div class="col-md-4 mr-1"></div>
            <div class="col-md-2 ml-2 mt-2 register_btn yellow white-text "><div class=""><a class="register_link" href="registracziya">REGISTER NOW</a> </div>
        </div>
        </div>
        </div>
    </header>


До того как я добавил эти выводы ссылок single.php работал, но как добавил контент перестал появляться

single.php
<? get_header() ?>  
	<main id="primary" class="main"> 
		<?php
		while ( have_posts() ) :
			the_post(); 
			get_template_part( 'template-parts/content', get_post_type() ); 
		endwhile; // End of the loop.
		?> 
	</main><!-- #main -->
	<? get_footer() ?>


content.php
<article class="page_detail-wrapper mt-5" id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
 
		<div class="page_detail-container">
		<?php
		the_content(
			sprintf(
				wp_kses(
					/* translators: %s: Name of current post. Only visible to screen readers */
					__( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'top' ),
					array(
						'span' => array(
							'class' => array(),
						),
					)
				),
				wp_kses_post( get_the_title() )
			)
		);

		wp_link_pages(
			array(
				'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'top' ),
				'after'  => '</div>',
			)
		);
		?>
	</div> 
 
</article>


Проблему решил, убрав get_posts() в header.php. Но дело в том, что мне нужны эти выводы в header.php.
Есть ли способ оставить get_posts(), но чтоб контент в single.php был?
  • Вопрос задан
  • 88 просмотров
Пригласить эксперта
Ответы на вопрос 1
Real_Fermer
@Real_Fermer
Программист PHP
А ты проверял что возвращает get_posts(). Попробуй вывести var_dump(get_posts()) Скорее всего где-то выдаст ошибку
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы