wp模板移植到emlog教程 第三部分(转载自:奇遇)

  • 内容
  • 相关

第五步:log_list.php
先将index.php重命名为log_list.php,然后打开它
将第一行<?php get_header(); ?>给替换成<?php if(!defined('EMLOG_ROOT')) {exit('error!');}?>
考虑到本模板首页突出显示了第一片日志,因此先打开home.php,复制如下代码

<?php if (empty($_GET) && isset($logs[0])) : ?>
<div class="latest" id="post-<?php $logs[0]['logid']; ?>">
  <p class="details_small">
   on <?php echo date('Y-n-j G:i l', $logs[0]['date']); ?> 
   by <?php blog_author($logs[0]['author']); ?>
   <?php blog_sort($logs[0]['sortid'], $logs[0]['logid']); ?>, 
   <?php blog_tag($logs[0]['logid']); ?>
   <a href="./?post=<?php echo $logs[0]['logid']; ?>#comment">评论(<?php echo $logs[0]['comnum']; ?>)</a>
   <a href="./?post=<?php echo $logs[0]['logid']; ?>#tb">引用(<?php echo $logs[0]['tbcount']; ?>)</a> 
   <a href="./?post=<?php echo $logs[0]['logid']; ?>">浏览(<?php echo $logs[0]['views']; ?>)</a>
  </p>
  <h2><a href="./?post=<?php echo $logs[0]['logid']; ?>" rel="bookmark"><?php echo $logs[0]['log_title']; ?></a></h2>
  <div class="post_content">
  <?php echo $logs[0]['log_description']; ?>
  </div>
</div>
<?php
array_shift($logs);
endif;
?>

 

然后就是下面其余博文列表了,看到有个判断是否首页的,WP的首页和其它页调用的不是同一个模板文件,因而样式可能有所不同,此处就需要自己加上判断,修改

 
<div id="content"<?php if (is_home() && !is_paged()) { ?> class="home"<?php } ?>>

 
<div id="content"<?php if (empty($_GET)) { ?> class="home"<?php }else{ ?> class="archive"<?php } ?>>

第二个class的值可以在archive.php中获得
接下来是一句判断是否有文章的,删除它,并删掉后面与之配对else语句和endif,即删除

 
<?php else : ?>
  <?php include (TEMPLATEPATH . '/not_found.php'); ?>
<?php endif; ?>

再来会看到类似

  <?php rewind_posts(); ?>
  <?php
  remove_filter('get_the_excerpt', 'wp_trim_excerpt');
     add_filter('get_the_excerpt', 'gd_short_excerpt');
  ?>

全删除了,接着将<?php while (have_posts()) : the_post(); ?>替换为<?php foreach($logs as $value): ?>(此句可在默认模板中找到)
然后就是一大堆的替换了,诸如<?php the_ID(); ?>换成<?php echo $value['logid']; ?>,<?php the_permalink() ?>换成./?post=<?php echo $value['logid']; ?>等等,参考默认可得,此处贴出替换前后参考

 <div class="post list" id="post-<?php the_ID(); ?>">
   <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="ermalink: <?php the_title(); ?>"><?php the_title(); ?></a></h2>
   <p class="details_small">
    on <?php the_date(); ?> 
    by <?php the_author(); ?>
    in <?php the_category(', '); ?>, 
    <?php comments_popup_link(__('Comments (0)'), __('Comments (1)'), __('Comments (%)')); ?>
   </p>
   <?php the_excerpt(); ?>
   <p><a href="<?php the_permalink() ?>" rel="bookmark"><?php _e('Read more...') ;?></a></p>
  </div>
 
  <div class="post list" id="post-<?php the_ID(); ?>">
   <h2><a href="./?post=<?php echo $value['logid']; ?>" rel="bookmark"><?php echo $value['log_title']; ?></a></h2>
   <p class="details_small">
    on <?php echo date('Y-n-j G:i l', $value['date']); ?> 
    by <?php blog_author($value['author']); ?>
    <?php blog_sort($value['sortid'], $value['logid']); ?>, 
    <?php blog_tag($value['logid']); ?>
    <a href="./?post=<?php echo $value['logid']; ?>#comment">评论(<?php echo $value['comnum']; ?>)</a>
    <a href="./?post=<?php echo $value['logid']; ?>#tb">引用(<?php echo $value['tbcount']; ?>)</a> 
    <a href="./?post=<?php echo $value['logid']; ?>">浏览(<?php echo $value['views']; ?>)</a>
   </p>
   <?php echo $value['log_description']; ?>
   <?php blog_att($value['logid']); ?>
  </div>

应该刚刚在module.php中已经给分类加上了in,所以此处去掉
然后将下面那句<?php endwhile; ?>替换成<?php endforeach; ?>,结束日志列表
再来看到一句判断是否为显示文章的语句<?php if (is_single()) : ?>,下面则是翻页,我们需要的是else后面的部分,其余删除,仅保留文章列表的翻页,并将其中内容修改为emlog的页码,此处也仅贴出修改前后供参考

 
  <?php if (is_single()) : ?>
  
  <div class="navigation">
   <span class="prev"><?php previous_post_link('%link') ?></span>
   <span class="next"><?php next_post_link('%link') ?></span>
  </div>
  
  <?php else : ?>
  
  <div class="navigation">
   <div class="prev"><?php next_posts_link('« Previous posts') ?></div>
   <div class="next"><?php previous_posts_link('Next posts »') ?></div>
  </div>
  
  <?php endif; ?>
 
  <div class="navigation">
   <?php echo $page_url;?>
  </div>

最后,将最后一句<?php get_footer(); ?>替换成<?php include getViews('footer'); ?>即可
注:
时间格式可以自由控制,参考php的date函数
至此,log_list.php编辑完毕,此时,如果修改正确,你已经可以在首页预览此模板的效果了

 

第六步:echo_log.php及page.php
echo_log.php有两个方法:一是修改log_list.php,二是修改原模板single.php,这里介绍第二个
single.php重命名为echo_log.php打开它,将第一行<?php get_header(); ?>给替换成<?php if(!defined('EMLOG_ROOT')) {exit('error!');}?>
同第五步,删掉判断是否有文章的相关语句,分别是接下来的

<?php if (have_posts()) : ?>

以及后面的

<?php else : ?>
  <?php include (TEMPLATEPATH . '/not_found.php'); ?>
<?php endif; ?>

接着删掉<?php the_post(); ?>,继续往下看,同第五步,参考默认模板echo_log.php修改相应php代码,修改前后如下

   <div class="post" id="post-<?php the_ID(); ?>">
    <p class="details_small">
     on <?php the_date(); ?> 
     by <?php the_author(); ?>
     in <?php the_category(', '); ?>, 
     <?php comments_popup_link(__('Comments (0)'), __('Comments (1)'), __('Comments (%)')); ?>
    </p>
    <h1><?php the_title(); ?></h1>
    <div class="post_content">
    <?php the_content(); ?>
    </div>
    <p><?php the_tags('Tags: ', ', ', '<br />'); ?></p>
    <?php wp_link_pages(array('before' => '<p><strong>ages:</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>
   </div>
 
  <div id="content" class="single">
   <div class="post" id="post-<?php echo $logid; ?>">
    <p class="details_small">
     on <?php echo date('Y-n-j G:i l', $date); ?> 
     by <?php blog_author($author); ?>
     <?php blog_sort($sortid, $logid); ?>
    </p>
    <h1><?php echo $log_title; ?></h1>
    <div class="post_content">
    <?php echo $log_content; ?>
    <?php blog_att($logid); ?>
    <?php doAction('log_related'); ?>
   </div>
    <p><?php blog_tag($logid); ?></p>
  </div>

下一句是评论表单<?php comments_template(); ?>,替换成

<?php blog_trackback(); ?>
<?php blog_comments(); ?>

下来是评论表单,之前第四步用到过这段代码,现在全部删除,用<?php if ($allow_remark == 'y'){blog_comments_post();}?>替换
在下来是相邻日志,保留前后的div,中间的用<?php neighbor_log(); ?>替换,贴出修改前后的代码

 
   <div class="navigation">
    <div class="prev"><?php previous_post_link('%link') ?></div>
    <div class="next"><?php next_post_link('%link') ?></div>
   </div>
    <div class="navigation">
    <?php neighbor_log(); ?>
   </div>

最后,将<?php get_footer(); ?>替换成<?php include getViews('footer'); ?>
至此,echo_log.php修改完成
下面是page.php,复制一个echo_log.php,重命名为page.php(删掉原有的page.php)
打开它,删除如下代码即可:
<?php echo date('Y-n-j G:i l', $date); ?> 
<?php editflg($logid,$author); ?>
<?php blog_sort($sortid, $logid); ?>
<?php doAction('log_related'); ?>
<?php blog_tag($logid); ?>
<?php blog_trackback(); ?>
<?php neighbor_log(); ?>
这些代码附近的一些相关的html也要删除,如本例中的

 
   <div class="navigation">
    <?php neighbor_log(); ?>
   </div>

应全部删除
那么第六步也完成了。

 

 

本文标签:

版权声明:若无特殊注明,本文皆为《路人博文》原创,转载请保留文章出处。

本文链接:wp模板移植到emlog教程 第三部分(转载自:奇遇) - https://www.glr-s.com/ruanjian/135.html