0

この後、新しい投稿を(管理者アカウントで)評価することは可能ですか?

$post_id = wp_insert_post( $my_post, $wp_error );
4

3 に答える 3

1

Wordpress サポート フォーラムのこの投稿によると、次のようなことを行う必要があります。

function set_rating($post_id, $vote) {  // $vote = 0..10
  $admin = get_user_by('login', 'admin');
  if ($admin !== false) {
    $ip = $_SERVER['SERVER_ADDR'];
    $ua = $_SERVER['HTTP_USER_AGENT'];
    gdsrBlgDB::save_vote($post_id, $admin->ID, $ip, $ua, $vote);
  }
  return $admin;
}
于 2012-10-06T21:08:47.397 に答える
0

これは、GD Star Rating Plugin に基づいたカスタム開発を行うのに役立つ場合があります。「投稿のいいねを保存する」、「投稿のいいね数を取得する」、「現在のユーザーが投稿を気に入ったかどうかを確認する」関数を見つけてください。これは、カスタム投稿タイプでも機能します。

/**
 * Function to save post like
 * @param type $post_id
 * @param type $user_id 
 */
function save_post_like($post_id, $user_id) {

    $ip = $_SERVER['SERVER_ADDR'];
    $ua = $_SERVER['HTTP_USER_AGENT'];

    if(has_user_liked_post($post_id) == 0)
        gdsrBlgDB::save_vote_thumb($post_id, $user_id, $ip, $ua, 1);

}

/**
 * Function to check if user like the post
 * @global type $wpdb
 * @global type $table_prefix
 * @param type $post_id
 * @return type 
 */
function has_user_liked_post($post_id) {

    global $wpdb, $table_prefix;

    $userdata = wp_get_current_user();
    $user_id = is_object($userdata) ? $userdata->ID : 0;

    $sql = "SELECT * FROM " . $table_prefix . "gdsr_votes_log WHERE vote_type = 'artthumb' AND id = " . $post_id . " AND user_id = " . $user_id;
    $results = $wpdb->get_row($sql, OBJECT);

    if (count($results))
        return 1;
    else
        return 0;
}

/**
 * Function to get total Likes of a Post
 * @global type $wpdb
 * @global type $table_prefix
 * @param type $post_id
 * @return type 
 */
function get_post_like_count($post_id) {

    global $wpdb, $table_prefix;

    $sql = "SELECT * FROM " . $table_prefix . "gdsr_data_article WHERE post_id = " . $post_id;
    $results = $wpdb->get_row($sql, OBJECT);

    if (count($results))
        return $results->user_recc_plus;
    else
        return 0;
}
于 2014-09-18T13:46:31.263 に答える
0

それが起こった後、フックを追加する必要があります。最初に関数を書き、次にこれを書きます:

add_action('wp_insert_post', 'set_star_rating');
function set_star_rating() {
    global $post;
    $post = ...
}

save_posts投稿を保存しているときに発生するフックもあり、より適切に文書化されています。

于 2012-10-06T07:47:31.363 に答える