正在载入...

在折腾WordPress时,最经常要修改的就是functions.php文件,但是functions.php又是WordPress的一个核心文件,一点错误都会造成WordPress博客打不开。有没有比较简单的不让在修改functions.php出错的办法呢?今天给大家分享一下本人所知的修改WordPress主题文件functions不出错技巧。

WordPress其实有个很实用的功能-include all PHP script功能,我们只要在你的functions.php文件正常工作时加入下面的代码(这是必要条件,只要修改好这次,下次就不怕出错了)

define('theme_apps', TEMPLATEPATH.'/apps');
IncludeAll( theme_apps );
/**
* include all PHP script
*/
function IncludeAll($dir){
$dir = realpath($dir);
if($dir){
$files = scandir($dir);
sort($files);
foreach($files as $file){
if($file == '.' || $file == '..'){
continue;
}elseif(preg_match('/.php$/i', $file)){
include_once $dir.'/'.$file;
}
}
}
}

然后在你的WordPress主题文件夹建立一个名为apps的文件夹,然后需要什么功能了,在这个文件夹内直接建立一个php文件就可以了,名称随意。例如我添加的迷你翻页代码:

<?php
/* Mini Pagenavi v1.0 by Willin Kan. Edit by zwwooooo */
if ( !function_exists('pagenavi') ) {
function pagenavi( $p = 5 ) { // 取当前页前后各 2 页
if ( is_singular() ) return; // 文章与插页不用
global $wp_query, $paged;
$max_page = $wp_query->max_num_pages;
if ( $max_page == 1 ) return; // 只有一页不用
if ( empty( $paged ) ) $paged = 1;
echo '<span>Page: ' . $paged . ' of ' . $max_page . ' </span> '; // 显示页数
if ( $paged > 1 ) p_link( $paged - 1, '上一页', '? Previous' );/* 如果当前页大于1就显示上一页链接 */
if ( $paged > $p + 1 ) p_link( 1, '最前页' );
if ( $paged > $p + 2 ) echo '... ';
for( $i = $paged - $p; $i <= $paged + $p; $i++ ) { // 中间页
if ( $i > 0 && $i <= $max_page ) $i == $paged ? print "<span class='page-numbers current'>{$i}</span> " : p_link( $i );
}
if ( $paged < $max_page - $p - 1 ) echo '... ';
if ( $paged < $max_page - $p ) p_link( $max_page, '最后页' );
if ( $paged < $max_page ) p_link( $paged + 1,'下一页', 'Next ?' );/* 如果当前页不是最后一页显示下一页链接 */
}
function p_link( $i, $title = '', $linktype = '' ) {
if ( $title == '' ) $title = "第 {$i} 页";
if ( $linktype == '' ) { $linktext = $i; } else { $linktext = $linktype; }
echo "<a class='page-numbers' href='", esc_html( get_pagenum_link( $i ) ), "' title='{$title}'>{$linktext}</a> ";
}
}
// -- END ----------------------------------------

不过要注意的是那些php文件要在第一行前加入一个<?php
也许你会说,如果到时我把这个新增功能php文件写错了,那不是依然会导致WordPress博客出错么?确实,但是用上面方法的好处是,如果你代码出错,我们只要把那个apps文件夹中新增的单独php文件删除就好了,而不会像原来直接在functions.php中修改,导致出错覆盖。

 

本文链接:

关键词:functions, WordPress, 代码, 函数,

(全文完        )

Comments

4 条评论(网友评论:4 条,博主回复:0 条)快速评论

  1. 这个方法不错,我修改时总是那样。

  2. 貌似有点用,试试看效果 :lol: 2011年12月9日 星期五 19:07:00

  3. 难得好贴,赞一个,继续努力啊

你需要 登录 才可以回复.