创建WordPress子主题,来修改父级主题justnews

我们在用一些Wordpress主题,比如justnews主题时,经常需要修改一些源码来达到自己的某些个性化功能。比如,最起码的,每个人肯定都会去修改function.php文件。甚至,有些人会修改文章模板、页面模板,或者往一些模板里加入自己的广告位。

但是,justnews又是一款经常更新的主题,每次改完主题想要更新,都会费点劲,甚至可能忘记备份,导致以前的修改全部都丢失了,又得重新修改一遍。

今天,古哥就给各位带来通过创建Wordpress子主题,来修改父级主题justnews的详细教程。

首先,在Wordpress主题目录新建一个justnews-child文件夹,作为子主题目录。

然后,在子主题目录新建一个style.css文件,内容如下:

/*
    Theme name: JustNews Child
    Template: justnews
*/

/* 引入父主题样式 */
@import url("../justnews/css/style.css");

注意:

  • Theme name为子主题名称,这里可以随意填写。
  • Template为父主题的目录名,必须为justnews(注意全部为小写),如果你要创建其他主题的子主题,也是一样的方法
  • 最后,要引入父主题的css文件

到这里,你就可以在后台正常启动子主题了。但是,我们没做任何改变。还是用的父主题的各种php模板。

下面,我们开始自定义子主题:

首先,在子主题目录新建一个function.php文件,内容如下:

<?php

//评论回复通知
function comment_mail_notify($comment_id) { 
 $comment = get_comment($comment_id);
 $parent_id = $comment->comment_parent ? $comment->comment_parent : '';
 $spam_confirmed = $comment->comment_approved; 
 if (($parent_id != '') && ($spam_confirmed != 'spam')) { 
 $wp_email = 'no-reply@' . preg_replace('#^www.#', '', strtolower($_SERVER['SERVER_NAME'])); //改为你的邮箱 
 $to = trim(get_comment($parent_id)->comment_author_email); 
 $subject = '[' . get_option("blogname") . '] 您的留言有了新回复'; 
 $message = ' 
 <div style="width: 60%;margin: 0 auto"> 
 <div style="font-size: 28px;line-height: 28px;text-align: center;"><p>' . trim(get_comment($parent_id)->comment_author) . ', 您好!</p></div> 
 <div style="border-bottom: 1px solid #eee;padding-top: 10px;"> 
 <p style="color: #999;">您曾在《' . get_the_title($comment->comment_post_ID) . '》的留言:</p> 
 <p style="font-size: 18px;">' . trim(get_comment($parent_id)->comment_content) . '</p> 
 </div> 
 <div style="border-bottom: 1px solid #eee;padding-top: 10px;"> 
 <p style="color: #999;">' . trim($comment->comment_author) . ' 给您的回复:</p> 
 <p style="font-size: 18px;">' . trim($comment->comment_content) . '</p>
 <p style="text-align: center;font-size: 12px;padding-bottom: 20px;"><a style="border: 1px solid #3297fb;color: #3297fb;padding: 7px 14px;text-decoration: none;-moz-border-radius: 4px;-webkit-border-radius: 4px;border-radius:4px;" href="' . esc_attr(get_comment_link($parent_id, array('type' => 'comment'))) . '">点击查看</a></p> 
 </div> <div style="font-size: 12px;color: #999;text-align: center;"> 
 <p>此邮件由系统自动发送,请勿回复</p> 
 <p>© <a href="https://xiaosiseo.com" style="color: #999;text-decoration: none;">' . get_option('blogname') . '</a></p> 
 </div> 
 </div>'; 
 $from = "From: \"" . get_option('blogname') . "\" <$wp_email>"; 
 $headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n"; wp_mail( $to, $subject, $message, $headers ); } } 
add_action('comment_post', 'comment_mail_notify');
//评论回复通知结束

?>

以上代码,添加了评论回复自动发送邮件的功能。这里,只是做了一个演示功能。可以看出来,新建的function.php不用复制父主题的function.php文件,而是只要新建一个,往里面添加自定义功能即可。模板如下:

<?php

//自定义功能

?>

到此,基本满足你可以随意添加function功能了。下面,开始教你用子主题修改父主题的任意php文件。

只需要在父主题里复制你想要修改的某个php文件,然后在子主题相同目录放入该php文件。最后,我们直接修改子主题里的这个php文件,即可修改主题的该php文件。比如我们要修改网站的底部文件:footer.php

从父主题复制footer.php,然后在子主题粘贴该文件。修改立马的内容,就可以达到自定义footer.php文件了。

其他php文件修改方法一致。

注意事项:

  • style.css是必须引入的子主题说明文件
  • function.php是功能性php,不能直接从父主题复制,只要往里面加你想添加的功能就可以了
  • 其他php文件,复制到子主题修改就可以了。

最后,为了防止各位在创建子主题时,需要困难,我这里直接把做好的justnews子主题分享给各位,里面没有做任何的修改。

下载链接:https://t00y.com/file/30185816-472367810

提取码:533960

    © 版权声明
    THE END
    喜欢就支持一下吧
    点赞0 分享
    评论 抢沙发

    请登录后发表评论

      暂无评论内容