WordPress实现新文章Email通知功能

开放访客注册的博客都在想尽办法提高网站的PV,像一些之前介绍的投稿,投稿排名这样一系列的功能可以吸引到顾客参与进来,从而可以达到网站最好的效果,开放注册的博客而且可以使用邮件系统来通知注册的用户你的网站有新的文章更新了,这个也是可以很好的提高回头率,下面我们介绍一下这个方法的实现。

首先使用FTP工具登录php虚拟主机到主题目录下把functions.php下载到本地,然后试用文本工具打开把下列的代码添加进去。

1function
2newPostNotify($post_ID) {
3 
4    if( wp_is_post_revision($post_ID) ) return;
5 
6    global $wpdb;
7 
8    $get_post_info = get_post($post_ID);
9 
10    if ( $get_post_info->post_status ==
11'publish' && $_POST['original_post_status'] != 'publish' ) {
12 
13        // 读数据库,获取所有用户的email
14 
15        $wp_user_email =
16$wpdb->get_results("SELECT DISTINCT user_email FROM
17$wpdb->users");
18 
19        // 依次给每个Email发邮件
20 
21        foreach ( $wp_user_email as $email ) {
22 
23            // 邮件标题:xx博客有新文章
24 
25            $subject = 'xx博客有新文章';
26 
27            // 邮件内容:新文章网址:+ URL
28 
29            $message = '新文章网址:' . get_permalink($post_ID);
30 
31            // 发邮件
32 
33            wp_mail($email->user_email,$subject, $message);
34 
35        }
36 
37    }
38 
39}
40 
41// 钩子,一旦WordPress有新文章发布或文章被修改即刻执行newPostNotify函数
42 
43add_action('publish_post', 'newPostNotify');

添加进去后把文件保存上传会空间就可以了,当文章更新的时候就会有邮件发送给注册的用户告知消息,这个方法是很多网站都会做的,所以大家可以考虑一下,还有一个问题是要说清楚的,因为wordpress的邮件QQ邮箱是收不到了,所以这个办法还是有点缺陷的,或者大家有能力可以鼓动用户订阅RSS。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自动邮件发送博客文章WordPress插件完成一项很简单的功能,每当一篇博客文章发布后,WordPress会自动发送一封Email邮件到几个指定的电子信箱之中。这个 插件是修改自一个名为Post2Mail的邮件插件,可惜原插件作者已经删除此插件的下载和更,而且原插件不支持中文,中文内容的文章将被发送为乱码, 同时原插件还有一个小小的安全漏洞,别人可以查看配置源代码。因此我就在这个插件的基础上进行了一番修改,修改相关的问题并使其完全支持中文系统。   增加的功能   1、使用base64对中文邮件标题进行编码,完美支持中文邮件标题,在任何客户端显示都没有邮件标题乱码。   2、邮件的内容也完美支持中文。   3、修改了原来插件的安全漏洞。   如何使用这个插件   修改post2mail.config.php文件,增加邮件地址到配置文件中,我们知道MSN Live Spaces和Blogspot都有邮件发布博客功能,我们可以将Live Spaces和Blogspot的邮件发送地址填入,这样,每当我们在WordPress中发布一篇文章,这篇文章都会自动更到MSN Spaces和BlogSpot.这样就可以同时更三个博客了。   的修改汉化版的POST2MAIL我目前在Google的Blogger和微软的MSN Spaces的邮件发送上测试成功,发送邮件的内容均没有乱码。   本程序在Apache和PHP5环境下测试通过,不需要配置邮件服务器就可以发送邮件。
实现分页Ajax无限加载功能,可以按照以下步骤进行: 1. 在WordPress主题中创建一个的页面模板,命名为“ajax-pagination.php”(或者其他你喜欢的名字)。 2. 在模板中添加需要分页的内容。 3. 在模板中添加一个按钮或链接,用于加载更多内容。 4. 使用jQuery编写Ajax代码,将按钮或链接与模板中的内容连接起来。 5. 在functions.php文件中添加一个的函数,用于处理Ajax请求。 6. 编写一个WordPress查询,用于获取下一页的内容。 7. 将查询结果返回给Ajax请求,并将其添加到页面上。 以下是一个简单的示例代码,演示如何实现分页Ajax无限加载功能: 在ajax-pagination.php文件中,添加以下代码: ``` <div id="content"> <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'post_type' => 'post', 'posts_per_page' => 3, 'paged' => $paged ); $query = new WP_Query($args); if ($query->have_posts()) : while ($query->have_posts()) : $query->the_post(); // 输出文章内容 endwhile; endif; ?> </div> <div id="load-more"> <a href="#">加载更多</a> </div> ``` 在JavaScript文件中,添加以下代码: ``` jQuery(document).ready(function($) { $('#load-more a').click(function() { var button = $(this), data = { 'action': 'load_more', 'query': loadmore_params.posts, 'page': loadmore_params.current_page }; $.ajax({ url: loadmore_params.ajaxurl, data: data, type: 'POST', beforeSend: function(xhr) { button.text('正在加载...'); }, success: function(data) { if (data) { button.text('加载更多').prev().before(data); loadmore_params.current_page++; if (loadmore_params.current_page == loadmore_params.max_page) button.remove(); } else { button.remove(); } } }); return false; }); }); ``` 在functions.php文件中,添加以下代码: ``` add_action('wp_ajax_load_more', 'load_more'); add_action('wp_ajax_nopriv_load_more', 'load_more'); function load_more() { $query = json_decode(stripslashes($_POST['query']), true); $query['paged'] = $_POST['page'] + 1; $posts = new WP_Query($query); if ($posts->have_posts()) { while ($posts->have_posts()) { $posts->the_post(); // 输出文章内容 } } die; } ``` 以上代码仅仅是一个示例,你需要根据自己的实际情况进行修改和调整。但是,这个示例可以帮助你了解如何使用WordPress和Ajax来实现分页Ajax无限加载功能

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值