当用户关注的人发布帖子时触发电子邮件

时间:2016-03-03 作者:DEM

我正在尝试向所有在发布帖子时关注某个帖子作者的用户发送电子邮件。我在下面有这个函数,但似乎不起作用。一些注意事项

元值=“following”是一个数组,其中包含作者用户关注的内容。

function followerPost_notification($post_id) {

$post = get_post($post_id);
$uid = $post->post_author;
$user_info = get_userdata($post->post_author);
$email = $user_info->user_email;
$first_name = $user_info->first_name;
$pTitle = $post->post_title;
$pUrl = get_permalink($post_id);

//Email Info
$subject = \'New Post Published by a Person you Follow!\' ;
$headers[] = \'Content-Type: text/html; charset=UTF-8\';

// WP_User_Query arguments
$args = array (
    \'meta_query
    \'     => array(
        array(
            \'key\'   => \'following\',

        ),
    ),
);

// The User Query
$user_query = new WP_User_Query( $args );

$q = $user_query->results;
// The User Loop
if ( ! empty( $user_query->results ) ) {
    foreach ( $user_query->results as $user ) {
        $uid2 = $user->ID;
        $uemail = $user->user_email;
        $to = $uemail;
        $meta= get_user_meta($uid2,\'following\', true);
        $arr = implode(\',\', $meta);

    if(strpos($uid, $arr)) {

    ob_start(); 

include("template/email_header.php");
?>
<p>New post published by a person you follow</p>

<p><em>This is an automated email, please don\'t reply to this email.</em></p>
<?php 
include("template/email_footer.php");

    $message = ob_get_contents();
ob_end_clean();

wp_mail( $to, $subject, $message, $headers );

    }

    }
} else {
    // no users found
}

}
add_action(\'publish_post\', \'followerPost_notification\');

1 个回复
SO网友:DEM

能够发现元值被存储为字符串,这对元查询不起作用。

所以我要做的是与我的元值的序列化字符串版本进行类似的比较。元查询的结果如下

$args = array (
    \'meta_query\'     => array(
        array(
            \'key\'   => \'following\',
            \'value\'   => serialize( strval( $uid ) ),
            \'compare\'   => \'LIKE\',

        )
    )
);
要了解更多信息,请查看另一篇帮助我的帖子

How can I create a meta_query with an array as meta_field?

相关推荐

如何修改WP_INCLUDE/BLOCKS/LATEST_posts.php

我是WordPress开发的初学者,希望得到一些帮助。我在一个简单的WordPress网站上工作。基本上,用户希望在主页上显示最新的帖子。我使用了最新帖子块,并将其设置为显示整个帖子内容,现在用户不希望帖子标题链接到单个帖子页面(因为帖子的内容显示在主页上)。如何安全地修改模板文件,使其像h2标记一样使用,而不是在主题中使用的href标记。我知道您可以创建子主题并修改wp_content 文件,但我不确定如何处理中的文件wp_include. 我读到一些关于修改functions.php 但我不确定,如果