-1

在 Wordpress 中激活修改后的主题时出现此错误:

解析错误:语法错误,第 59 行 C:\xampp\htdocs\wp-content\themes\manifest_v1.1\functions.php 中的文件意外结束

functions.php 文件已被修改为允许在发表评论时选择“主题”行。

这是代码:

<?php
$cats=array(
1=>'Category 1',
2=>'Category 2',
3=>'Category 3'
);

function showCats($cats){

?>
<select name="commentCats">
<?php
foreach($cats as $key=>$cat){
?>
<option value="<?php print $key; ?>"><?php print $cat; ?></option>
<?
}
?>
</select>
<?php
}
add_action ('comment_post', 'add_comment_fields', 1);
function add_comment_fields($comment_id) {
            add_comment_meta($comment_id, 'commentCats', $_POST['commentCats'], true);
}
function manifest_comment($comment, $args, $depth){
print $depth;
global $cats;
 $catID = get_comment_meta(get_comment_ID(),"commentCats", true);
 $GLOBALS['comment'] = $comment; ?>
   <li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
     <div id="comment-<?php comment_ID(); ?>">
      <div class="comment-author vcard">
         <?php echo get_avatar($comment,$size='48',$default='<path_to_url>' ); ?>

         <?php printf(__('<cite class="fn">%s</cite> <span class="says">says:</span>'),         get_comment_author_link()) ?>
      </div>

      <?php if ($comment->comment_approved == '0') : ?>
         <em><?php _e('Your comment is awaiting moderation.') ?></em>
         <br />
      <?php endif; ?>

      <div class="comment-meta commentmetadata"><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"><?php printf(__('%1$s at %2$s'), get_comment_date(),  get_comment_time()) ?></a><?php edit_comment_link(__('(Edit)'),'  ','') ?></div>
      <?php if($catID){ ?>
      <h3><?php 

      print $cats[$catID]; ?></h3>
    <?php } ?>
      <?php comment_text() ?>

      <div class="reply">
         <?php comment_reply_link(array_merge($args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
      </div>
     </div>
<?php 
} 

?>

我不知道问题是什么,有人告诉我它正在另一台测试机器上工作。我目前正在本地机器上测试主题。我正在使用 XAMPP (http://www.apachefriends.org/en/xampp-windows.html) 进行测试,其中包括 Apache、MySQL、PHP 和 PHPmyAdmin。我正在使用全新安装的 Wordpress 3.4.1 版。

谢谢!

4

1 回答 1

3

Line 36 - you forgot a ; after the call:

<?php printf(__('<cite class="fn">%s</cite> <span class="says">says:</span>'),         get_comment_author_link()) ?>

Edit: as I saw from the comments and further looking at the code in eclipse, you are missing quite a few ; after statements:

<?php comment_text() ?>
<?php comment_reply_link(array_merge($args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
于 2012-08-09T14:55:21.787 回答