我们在用一些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://iymark.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文件,复制到子主题修改就可以了。
有关任何子主题的问题,都可以下方评论
原创文章,作者:古哥,转载需经过作者授权同意,并附上原文链接:https://iymark.com/articles/892.html