这是我从头开始的第一个主要的WordPress网站。我的PHP技能才刚刚开始,这是我得到的错误。我知道问题是什么,我只是不知道如何正确编写这段PHP代码,并希望得到一些帮助。
据我所知,我不能将html标记放入PHP代码块中,就像我在这里做的那样奇怪,因为我看到的所有示例WP循环都有HTML标记。
<?php
/**
* Template Name: Home Page
*
* This Full Width template removes the primary and secondary asides so that content
* can be displayed the entire width of the #content area.
*
*/
// calling the header.php
get_header();
// action hook for placing content above #container
thematic_abovecontainer();
?>
<div id="container">
<?php thematic_abovecontent(); ?>
<div id="content" class="home-content">
<?php
// calling the widget area 'page-top'
get_sidebar('page-top');
the_post();
thematic_abovepost();
?>
<div id="post-<?php the_ID();
echo '" ';
if (!(THEMATIC_COMPATIBLE_POST_CLASS)) {
post_class();
echo '>';
} else {
echo 'class="';
thematic_post_class();
echo '">';
}
// creating the post header
// thematic_postheader();
?>
<div class="entry-content">
<?php
the_content();
wp_link_pages("\t\t\t\t\t<div class='page-link'>".__('Pages: ', 'thematic'), "</div>\n", 'number');
edit_post_link(__('Edit', 'thematic'),'<span class="edit-link">','</span>') ?>
</div>
</div><!-- .post -->
<div class="featureBlocks">
<div class="news">
<div class="featTitle">
<h3>News <br />& Events</h3>
<div class="featSubTitle">What's happening in the world of Process Engineering</div>
<div class="clear"></div>
</div>
<?php
query_posts('cat=4&posts_per_page=1');
if (have_posts()) : while (have_posts()) : the_post();
the_title();
the_content();
/*<a href='<?php the_permalink(); ?>' rel='bookmark' title='Permanent Link to <?php the_title_attribute(); ?>'><?php the_title(); ?></a>*/
endwhile; endif;
// Reset Query
wp_reset_query();
?>
</div>
<div class="research">
<div class="featTitle">
<h3>Research <br />Highlights</h3>
<div class="featSubTitle">Find out what exciting research is happening Process Engineering</div>
<div class="clear"></div>
</div>
<?php
query_posts('cat=5&posts_per_page=1');
if (have_posts()) : while (have_posts()) : the_post();
<strong>the_title();</strong>
the_content();
endwhile; endif;
// Reset Query
wp_reset_query();
?>
</div>
<div class="studentStories">
<div class="featTitle">
<h3>Student <br />Stories</h3>
<div class="featSubTitle">Student life at the Department of Process Engineering</div>
<div class="clear"></div>
</div>
<?php
query_posts('cat=6&posts_per_page=1');
if (have_posts()) : while (have_posts()) : the_post();
the_title();
the_content();
endwhile; endif;
// Reset Query
wp_reset_query();
?>
</div>
<div class="clear"></div>
</div>
<?php
thematic_belowpost();
// calling the comments template
thematic_comments_template();
// calling the widget area 'page-bottom'
get_sidebar('page-bottom');
?>
</div><!-- #content -->
<?php thematic_belowcontent(); ?>
</div><!-- #container -->
<?php
// action hook for placing content below #container
thematic_belowcontainer();
// calling footer.php
get_footer();
?>
如果有人能告诉我我在做什么,我会很感激。 非常感谢!
答案 0 :(得分:4)
<?php ?>
块中有一个不带引号的字符串。这些块中的任何内容都被解释为PHP语法而不是原始HTML。
这一行:
<h1>the_title();</h1>
应该是这样的:
echo '<h1>' . the_title() . '</h1>';
在这里,我们将<h1>
和the_title()
的输出连接在一起形成一个字符串。
语法错误与</h1>
标记中的第一个<
有关。因为它在(在<h1>
标签内)的上下文中是无效的PHP语法,所以它会引发错误。正如Pekka所说的那样,SO的语法突出显示几乎可以立即实现。
您应该更彻底地检查您的代码并查找具有语法突出显示的编辑器,或者如果您已经有能力的话,请将其打开。 PHP错误通常会给出行号。找到该行,并找出错误是什么。
在评论中概述的问题(这:<?php ?>
抛出错误),PHP再次遇到未加引号的字符串文字。 <strong>the_title();</strong>
完全无效的PHP语法,因为您没有将其引用为字符串。
此:
<strong>
需要成为这个:
<strong>the_title();</strong>
请考虑阅读基本的PHP语法,例如:这是一个微不足道的问题,很多教程都会介绍。
答案 1 :(得分:1)
作为新手,我想使用类似的东西:
<div class="news">
<div class="featTitle">
<h3>News <br />& Events</h3>
<div class="featSubTitle">What's happening in the world of Process Engineering</div>
<div class="clear"></div>
</div>
<?php
query_posts('cat=4&posts_per_page=1');
if (have_posts()) : while (have_posts()) : the_post();
?>
<h1><?php the_title(); ?></h1>
<?php the_content(); ?>
<a href='<?php the_permalink(); ?>' rel='bookmark' title='Permanent Link to <?php the_title_attribute(); ?>' ><?php the_title(); ?></a>
<?php
endwhile; endif;
// Reset Query
wp_reset_query();
?>
</div>
仅在<?php CODE ?>
标记内包装php代码。
答案 2 :(得分:0)
其他人设法在另一个论坛上回答了我的问题。 Kash,我希望这也适合你。
<?php query_posts('cat=5&posts_per_page=1');
if (have_posts()) : while (have_posts()) : the_post();?>
<strong><?php the_title();?></strong>
<?php the_content();
endwhile; endif;
?>
感谢所有投入的人! :)