我是Wordpress的新手。我正在尝试从头开始构建主题。我创建了以下page.php:
<?php
/**
* The template for displaying pages
*
* This is the template that displays all pages by default.
* Please note that this is the WordPress construct of pages and that
* other "pages" on your WordPress site will use a different template.
*
* @package nameofpackage
*/
get_header(); ?>
<?php get_footer(); ?>
我还安装了NextGen插件。我创建了一个新页面, 并使用NextGen的”添加图库”按钮;我最终以
[ngg src="galleries" ids="1" display="basic_thumbnail"]
在页面的文本部分中(可视部分在框中显示插件徽标)。
当我尝试预览结果时, 我只会得到中间没有任何内容的页眉和页脚;检查员不会显示与图库相关的代码。
如果我用ThemeFifteen尝试相同的东西, 它将起作用。
所以我的问题是:是否需要在function.php中添加一些内容, 以允许我的主题在页面中包含插件的输出?谢谢
#1
你缺少WP循环和the_content(), 因此在页眉和页脚之间看不到任何东西是绝对正常的。你需要像这样的东西:
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'loop-templates/content', 'page' );//calling the folder with your loop templates ?>
<?php
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
?>
<?php endwhile; // end of the loop. ?>
在循环模板中, 类似:
<article <?php post_class(); ?> id="post-<?php the_ID(); ?>">
<header class="entry-header">
<?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
</header><!-- .entry-header -->
<?php echo get_the_post_thumbnail( $post->ID, 'large' ); ?>
<div class="entry-content">
<?php the_content(); ?>
<?php
wp_link_pages( array(
'before' => '<div class="page-links">' . __( 'Pages:', 'understrap' ), 'after' => '</div>', ) );
?>
</div><!-- .entry-content -->
<footer class="entry-footer">
<?php edit_post_link( __( 'Edit', 'understrap' ), '<span class="edit-link">', '</span>' ); ?>
</footer><!-- .entry-footer -->
</article><!-- #post-## -->
这是组织主题的非常常用的方法, 但是请花一些时间在有关开发自定义主题的初学者教程上。掌握基本概念非常容易, 你将需要几个小时才能得到这个想法!这只是我要强调的一个示例, 对你的代码的快速而肮脏的修复是:
<?php
/**
* The template for displaying pages
*
* This is the template that displays all pages by default.
* Please note that this is the WordPress construct of pages and that
* other "pages" on your WordPress site will use a different template.
*
* @package nameofpackage
*/
get_header(); ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php the_title(); ?>
<?php the_content(); ?>
<?php endwhile; // end of the loop. ?>
<?php get_footer(); ?>
#2
你正在寻找的是do_shortcode()查看文档
确保也回显它。
<?php
get_header();
echo do_shortcode('[ngg src="galleries" ids="1" display="basic_thumbnail"]');
get_footer();
你还可以使用apply_filters()并传入’the_content’挂钩。这将使你的短代码使用与后端wysiwyg编辑器中使用的钩子/过滤器相同的钩子/过滤器, 但最终它只是在后台使用do_shortcode()。
<?php
get_header();
echo apply_filters('the_content', '[ngg src="galleries" ids="1" display="basic_thumbnail"]');
get_footer();
来源:
https://www.srcmini02.com/66358.html