#wordpress
#wordpress
Вопрос:
Добрый день! У меня странная проблема с WordPress 5.1.1. У меня есть две страницы с пользовательскими шаблонами, домашняя страница и страница блога. На других страницах я использую стандартный шаблон. И на стандартных страницах я вижу заголовок страницы, например, О нас — Sitename, Контакты — Sitename. Но на этих пользовательских страницах он пустой! Я вижу только Sitename, а тег title пуст. Что это может быть? Кроме того, я использую пользовательский WP_Query на странице блога.
UPD
Это моя пользовательская страница в блоге:
<?php
/**
* Template Name: Статьи
*/
$page = (get_query_var('paged')) ? get_query_var('paged') : 1;
$wp_query = new WP_Query(array('post_type' => 'post', 'posts_per_page' => 4, 'paged'=> $page ));
$categories = get_categories( array(
'orderby' => 'name',
'order' => 'ASC'
) );
get_header();
the_title();
?>
<div id="blog_cards" class="ui grid">
<div class="sixteen wide column">
<div id="categories">
<?php
foreach( $categories as $category ) {
$category_link = sprintf(
'<a class="category" href="%1$s" alt="%2$s">%3$s</a>',
esc_url( get_category_link( $category->term_id ) ),
esc_attr( sprintf( __( 'View all posts in %s', 'textdomain' ), $category->name ) ),
esc_html( $category->name )
);
echo $category_link;
}
?>
</div>
</div>
<div class="sixteen wide column">
<div class="ui two cards">
<?php
if ( $wp_query->have_posts() ) :
while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>
<div id="post-<?php the_ID(); ?>" class="card">
<div class="image">
<?php the_post_thumbnail();?>
</div>
<div class="content">
<div class="header"><a href="<?php the_permalink();?>" rel="bookmark"><?php the_title();?></a></div>
<div class="meta">
<a><?php the_time('d.m.Y');?></a>
</div>
<div class="description">
<?php the_content();?>
</div>
</div>
<div class="extra content">
<?php
$post_cats = get_the_category();
foreach( $post_cats as $category ) {
$category_link = sprintf(
'<a class="category" href="%1$s" alt="%2$s">%3$s</a>',
esc_url( get_category_link( $category->term_id ) ),
esc_attr( sprintf( __( 'View all posts in %s', 'textdomain' ), $category->name ) ),
esc_html( $category->name )
);
echo $category_link;
}
?>
</div>
</div>
<?php endwhile;?>
</div>
</div>
<div class="sixteen wide column">
<?php if (function_exists('wp_corenavi')) wp_corenavi(array( 'wp_query' => $wp_query )); ?>
</div>
<?php
endif; ?>
</div>
<?php
do_action( 'storefront_sidebar' );
get_footer();
Кроме того, я попытался вызвать the_title()
, и он вернул заголовок страницы в теле шаблона. Но тег title пуст.
И я использую стандартную тему витрины для woocomerce.
Комментарии:
1. Пожалуйста, разместите код ваших пользовательских шаблонов
2. вы должны использовать the_title(); в шаблоне, чтобы отобразить заголовок страницы / публикации.
3. Не могли бы вы, пожалуйста, переместить get_header(); и the_title(); перед $page, и могу ли я получить ссылку на ваш сайт, если это возможно..
4. Большое тебе спасибо, Дарш! Я просто поместил get_header () сверху, и все! Работает идеально!
5. я публикую это как ответ, пожалуйста, примите его..
Ответ №1:
Пожалуйста, переместитесь get_header()
в верхнюю часть страницы (перед $page).