Пользовательская тема Wordpress: плагины не загружаются или отображают только код

Это моя первая попытка создать тему с нуля. До этого я просто использовал underscores_me и внес большинство изменений в style.css и оставил большую часть PHP в покое, потому что я новичок в этом.

Моя проблема в том, что плагины не работают. Ни один из тех, что я устанавливал, не работает. На данный момент я пробовал плагины, которые создают календарь событий, но я предполагаю, что у всех плагинов будут проблемы. В областях, предназначенных для отображения календаря, я вижу две вещи. Страницы, сгенерированные плагинами, вообще ничего не показывают (кроме визуальных элементов темы), а плагины, вставленные в страницу, созданную администратором, отображают код, сгенерированный плагинами.

Я использую WampServer. У меня есть wp_footer(); и wp_head(); в правильных местах. Мой файл functions.php был создан на основе примера, найденного по адресу https://scanwp.net/blog/create-a-wordpress-starter-theme-from-scratch/, и пока единственная корректировка, которую я внес в него, — это удаление прекрасной строки кода.

Мой файл index.php выглядит так:

<?php get_header(); ?>

<h1><?php echo "&#9755&nbsp;"; ?><?php the_title(); ?></h1>
 if ( have_posts() ) : 
    while ( have_posts() ) : the_post(); 
        // Display post content
    endwhile; 
endif; 
?>

<?php get_footer(); ?>

И мой файл page.php выглядит так:

<?php get_header(); ?>

 <h1><?php echo "&#9755&nbsp;"; ?><?php the_title(); ?></h1>
 <?= get_post_field('post_content', $post->ID) ?>

<?php get_footer(); ?>

person Kyrenora    schedule 20.09.2019    source источник


Ответы (1)


Прежде всего, вы должны понимать, что в ваших отображаемых файлах нет функций, которые вызывают объекты, которые впоследствии будут отображать содержимое страницы.

Тогда в вашем файле index.php есть ошибка, помимо того, что было сказано выше, потому что вы вызываете the_title() (функцию), которая экстраполирует заголовок поста или страницы через объект поста, который в данном случае должен быть извлекается в цикле while, содержащемся в условии if.

Затем попробуйте отредактировать файлы следующим образом.

index.php

<?php


get_header(); ?>


<?php if( have_posts() ) : ?>
    <?php while( have_posts() ) : the_post(); ?>
        <h1><?php the_title(); ?></h1>
        <?php if( is_singular() ) : ?>
            <?php the_content(); ?>
        <?php else : ?>
            <?php the_excerpt(); ?>
        <?php endif; ?>
    <?php endwhile; ?>
<?php else: ?>
    <h1>No posts to display</h1>
<?php endif; ?>

<?php get_footer(); ?>

и page.php

<?php


get_header(); ?>



<?php while( have_posts() ) : the_post(); ?>
    <h1><?php the_title(); ?></h1>
    <?php the_content(); ?>
<?php endwhile; ?>

<?php get_footer(); ?>

Тем не менее, в кодексе WordPress вы найдете все руководства, хорошо написанные для любого типа функций, не ищите дальше.

источник: https://codex.wordpress.org/

person Stefano Pascazi    schedule 20.09.2019