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 "☛ "; ?><?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 "☛ "; ?><?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 中,您会发现所有关于任何类型功能的指南都写得很好,别再看了。
这是我第一次尝试完全从头开始创建主题。在此之前,我只是使用 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 "☛ "; ?><?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 "☛ "; ?><?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 中,您会发现所有关于任何类型功能的指南都写得很好,别再看了。