Wordpress 自定义主题:插件不会加载或仅显示代码

Wordpress Custom Theme: Plugins Won't Load or Display Only Code

这是我第一次尝试完全从头开始创建主题。在此之前,我只是使用 underscores_me 并对 style.css 进行了大部分更改,并保留了大部分 PHP,因为我是它的新手。

我的问题是插件无法正常工作。我安装的 None 个有效。在这一点上,我一直在尝试创建事件日历的插件,但我假设所有插件都会有问题。在用于显示日历的区域中,我看到了两件事。插件生成的页面什么都不显示(除了主题视觉效果),插入到管理员创建的页面中的插件显示插件生成的代码。

我正在使用 WampServer。我有 wp_footer();和 wp_head();在正确的地方。我的 functions.php 文件是根据 https://scanwp.net/blog/create-a-wordpress-starter-theme-from-scratch/ 中的示例创建的,到目前为止,我对它所做的唯一调整是删除 fontawesome 代码行。

我的 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(); ?>

首先,您必须了解,在您显示的文件中,没有调用稍后将显示页面内容的对象的函数。

然后,在你的 index.php 文件中有一个错误,除了上面所说的,因为你正在调用 the_title () (函数)推断 post 或通过 post 对象的页面,在这种情况下,应该在 if 条件中包含的 while 循环中提取。

然后尝试按如下方式编辑文件。

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 codex 中,您会发现所有关于任何类型功能的指南都写得很好,别再看了。

来源:https://codex.wordpress.org/