Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WordPress-在循环外部和插件内部获取当前帖子作者ID_Wordpress - Fatal编程技术网

WordPress-在循环外部和插件内部获取当前帖子作者ID

WordPress-在循环外部和插件内部获取当前帖子作者ID,wordpress,Wordpress,我正在尝试修改一个插件。我需要当前帖子的作者id来完成我正在做的事情。我已经尝试了我在互联网上找到的所有其他方法,这些方法声称可以在循环之外获取post-author id,但在插件内部不起作用。我猜这是因为插件可能是在循环变量之前加载的?请原谅我,我不是职业选手。 以下是我到目前为止所做的尝试 一, 二, 三, 四, 但是插件的目录中没有任何功能。有人能帮忙吗 详细说明: 我正在尝试修改插件。这个插件的问题是,它甚至包含了卖家的评论以供审核。因此,如果我是卖家,并且我在评论中回复了一些买家,我

我正在尝试修改一个插件。我需要当前帖子的作者id来完成我正在做的事情。我已经尝试了我在互联网上找到的所有其他方法,这些方法声称可以在循环之外获取post-author id,但在插件内部不起作用。我猜这是因为插件可能是在循环变量之前加载的?请原谅我,我不是职业选手。 以下是我到目前为止所做的尝试

一,

二,

三,

四,

但是插件的目录中没有任何功能。有人能帮忙吗

详细说明: 我正在尝试修改插件。这个插件的问题是,它甚至包含了卖家的评论以供审核。因此,如果我是卖家,并且我在评论中回复了一些买家,我将不得不批准我自己的评论。 现在为了克服这个问题,我提出了一个条件,如果帖子的作者(卖家)在评论,那么就不要把评论放在中间。 下面是控制注释的插件的功能

public function comment_submit_via_ajax() {

    $message_array = array();
    $comment_post_ID = intval(filter_input(INPUT_POST, 'comment_post_ID'));
    $comment_parent = intval(filter_input(INPUT_POST, 'comment_parent'));
    if (!$this->wpc_options->wpc_options_serialized->wpc_captcha_show_hide) {
        if (!is_user_logged_in()) {
            $sess_captcha = $_SESSION['wpc_captcha'][$comment_post_ID . '-' . $comment_parent];
            $captcha = filter_input(INPUT_POST, 'captcha');
            if (md5(strtolower($captcha)) !== $sess_captcha) {
                $message_array['code'] = -1;
                $message_array['message'] = $this->wpc_options->wpc_options_serialized->wpc_phrases['wpc_invalid_captcha'];
                echo json_encode($message_array);
                exit;
            }
        }
    }
    $comment = filter_input(INPUT_POST, 'comment');

    if (is_user_logged_in()) {
        $user_id = get_current_user_id();
        $user = get_userdata($user_id);
        $name = $user->display_name;
        $email = $user->user_email;
        $user_url = $user->user_url;
    } else {
        $name = filter_input(INPUT_POST, 'name');
        $email = filter_input(INPUT_POST, 'email');
        $user_id = 0;
        $user_url = '';
    }

    $comment = wp_kses($comment, array(
        'br' => array(),
        'a' => array('href' => array(), 'title' => array()),
        'i' => array(),
        'b' => array(),
        'u' => array(),
        'strong' => array(),
        'p' => array(),
        'img' => array('src' => array(), 'width' => array(), 'height' => array(), 'alt' => array())
    ));

    $comment = $this->wpc_helper->make_clickable($comment);

    if ($name && filter_var($email, FILTER_VALIDATE_EMAIL) && $comment && filter_var($comment_post_ID)) {

        $held_moderate = 1;
        if ($this->wpc_options->wpc_options_serialized->wpc_held_comment_to_moderate) {
            $held_moderate = 0;
        }
// $held_moderate = 1 -> No moderation          
/*This is the part where I need to put the custom condition*/
    if($post_author_id == get_current_user_id())
    {           
            $held_moderate = 1;             
    }
        $new_commentdata = array(
            'user_id' => $user_id,
            'comment_post_ID' => $comment_post_ID,
            'comment_parent' => $comment_parent,
            'comment_author' => $name,
            'comment_author_email' => $email,
            'comment_content' => $comment,
            'comment_author_url' => $user_url,
            'comment_type' => 'woodiscuz',
            'comment_approved' => $held_moderate
        );
        $new_comment_id = wp_insert_comment($new_commentdata);
        $new_comment = new WPC_Comment(get_comment($new_comment_id, OBJECT));

        if (!$held_moderate) {
            $message_array['code'] = -2;
            $message_array['message'] = $this->wpc_options->wpc_options_serialized->wpc_phrases['wpc_held_for_moderate'];
        } else {
            $message_array['code'] = 1;
            $message_array['message'] = $this->comment_tpl_builder->get_comment_template($new_comment);
        }
        $message_array['wpc_new_comment_id'] = $new_comment_id;
    } else {
        $message_array['code'] = -1;
        $message_array['wpc_new_comment_id'] = -1;
        $message_array['message'] = $this->wpc_options->wpc_options_serialized->wpc_phrases['wpc_invalid_field'];
    }
    echo json_encode($message_array);
    exit;
}

你能给我们看一下
var\u dump($post\u id)
的输出吗?你什么时候做这个?你有什么事吗?我已经更新了我的问题。
 global $post;
 $author_id=$post->post_author;
 $post_tmp = get_post($post_id);
 $author_id = $post_tmp->post_author;
 $author_id = $posts[0]->post_author;
public function comment_submit_via_ajax() {

    $message_array = array();
    $comment_post_ID = intval(filter_input(INPUT_POST, 'comment_post_ID'));
    $comment_parent = intval(filter_input(INPUT_POST, 'comment_parent'));
    if (!$this->wpc_options->wpc_options_serialized->wpc_captcha_show_hide) {
        if (!is_user_logged_in()) {
            $sess_captcha = $_SESSION['wpc_captcha'][$comment_post_ID . '-' . $comment_parent];
            $captcha = filter_input(INPUT_POST, 'captcha');
            if (md5(strtolower($captcha)) !== $sess_captcha) {
                $message_array['code'] = -1;
                $message_array['message'] = $this->wpc_options->wpc_options_serialized->wpc_phrases['wpc_invalid_captcha'];
                echo json_encode($message_array);
                exit;
            }
        }
    }
    $comment = filter_input(INPUT_POST, 'comment');

    if (is_user_logged_in()) {
        $user_id = get_current_user_id();
        $user = get_userdata($user_id);
        $name = $user->display_name;
        $email = $user->user_email;
        $user_url = $user->user_url;
    } else {
        $name = filter_input(INPUT_POST, 'name');
        $email = filter_input(INPUT_POST, 'email');
        $user_id = 0;
        $user_url = '';
    }

    $comment = wp_kses($comment, array(
        'br' => array(),
        'a' => array('href' => array(), 'title' => array()),
        'i' => array(),
        'b' => array(),
        'u' => array(),
        'strong' => array(),
        'p' => array(),
        'img' => array('src' => array(), 'width' => array(), 'height' => array(), 'alt' => array())
    ));

    $comment = $this->wpc_helper->make_clickable($comment);

    if ($name && filter_var($email, FILTER_VALIDATE_EMAIL) && $comment && filter_var($comment_post_ID)) {

        $held_moderate = 1;
        if ($this->wpc_options->wpc_options_serialized->wpc_held_comment_to_moderate) {
            $held_moderate = 0;
        }
// $held_moderate = 1 -> No moderation          
/*This is the part where I need to put the custom condition*/
    if($post_author_id == get_current_user_id())
    {           
            $held_moderate = 1;             
    }
        $new_commentdata = array(
            'user_id' => $user_id,
            'comment_post_ID' => $comment_post_ID,
            'comment_parent' => $comment_parent,
            'comment_author' => $name,
            'comment_author_email' => $email,
            'comment_content' => $comment,
            'comment_author_url' => $user_url,
            'comment_type' => 'woodiscuz',
            'comment_approved' => $held_moderate
        );
        $new_comment_id = wp_insert_comment($new_commentdata);
        $new_comment = new WPC_Comment(get_comment($new_comment_id, OBJECT));

        if (!$held_moderate) {
            $message_array['code'] = -2;
            $message_array['message'] = $this->wpc_options->wpc_options_serialized->wpc_phrases['wpc_held_for_moderate'];
        } else {
            $message_array['code'] = 1;
            $message_array['message'] = $this->comment_tpl_builder->get_comment_template($new_comment);
        }
        $message_array['wpc_new_comment_id'] = $new_comment_id;
    } else {
        $message_array['code'] = -1;
        $message_array['wpc_new_comment_id'] = -1;
        $message_array['message'] = $this->wpc_options->wpc_options_serialized->wpc_phrases['wpc_invalid_field'];
    }
    echo json_encode($message_array);
    exit;
}