以下のPHP関数を使用して、以下のようにメッセージに受信者として追加したいuser_idsを取得します。変数を別の関数変数に配列
function true_my_bp_get_users_by_xprofile($field_id_to_check, $num_to_find) {
global $wpdb;
$table_name = $wpdb->prefix . "bp_xprofile_data";
$user_ids = $wpdb->get_results(
$wpdb->prepare(
"SELECT user_id FROM $table_name
WHERE field_id = %d AND value LIKE '%%\"%d\"%%'",
$field_id_to_check,
$num_to_find
)
);
print_r($user_ids);
}
私はArray ([0] => stdClass Object ([user_id] => 1) [1] => stdClass Object ([user_id] => 2))
を印刷しtrue_my_bp_get_users_by_xprofile(5, 18);
を使用していますそして、私はこのコードでHTMLフォームがあります:私はしたいもの
function send_msg($user_id, $title, $message){
$args = array('recipients' => $user_id, 'sender_id' => bp_loggedin_user_id(), 'subject' => $title, 'content' => $message);
messages_new_message($args);
}
さsend_msg
で
$body_input=isset($_POST['body_input'])?$_POST['body_input']:'';
$subject_input=isset($_POST['subject_input'])?$_POST['subject_input']:'';
send_msg($user_ids,$body_input, $subject_input);
をdo:
が$user_ids
から配列を取り、それをここに置く:'recipients' => $user_id
私は関数内で$ user_idsで$ USER_IDを交換しようとしたが、それは動作しません。
上記のコードの中でやったようさて、あなたは
send_msg
関数を呼び出すことができます。 'global'変数は悪い習慣です。ロジックをクラスにラップし、$ wpdbをプライベートクラスのプロパティにします。私はWPがこれを許すことを知っているまた、この機能のプラグインはまだ存在していませんか? 'ホイールを改造しないでください。 –