web-dev-qa-db-ja.com

ログインしていないユーザーに許可する方法 WP システムをメディアライブラリにアップロードしますか?

私は今立ち往生しています。私のプロジェクトでは、WPユーザーシステムではなく別のシステムを使用してログインを作成する必要があります。

今、私のシステムAPIログインで私はいくつかのクッキーを作成しましたが、明らかに私はまたログインしたユーザーのためのwpクッキーも作成しませんでした。したがって、メディアライブラリWPでユーザーアップロードを許可したいです。 WP codexのリンク )ファイルがいくつかありますが、動作しません。

ログインしていないユーザーの場合にも、添付ファイルの作成を強制するためにadmin-ajax.phpを編集しました(一時的なコアワードプレスの変更)。

if ( is_user_logged_in() ) {    
    do_action( 'wp_ajax_' . $_REQUEST['action'] );
} else {
   do_action( 'wp_ajax_' . $_REQUEST['action'] );
 }

しかし、async-upload.phpは302で応答し、進む方法がわかりません。

_ update _
問題はこのユーザーと同じです: ここをクリック

Wp_ajax_my_actionとwp_ajax_nopriv_myactionを使おうとしましたが、何も変わりません。 WPにログインしていないユーザーが添付ファイルをアップロードし、この添付ファイルを自分のID作成者(12345など)に割り当てて、各ユーザーに自分のメディアのみを表示させる必要があります(pre_get_postsを使用します作業)。

2
ClodClod91

まず、コアWPファイルを編集したくありません。更新があると変更が消えてしまうからです。だからこそあなたは子供のテーマを作成することをお勧めします。

次に、AJAXの Codexページ を熟読することをお勧めします。これは、両方の種類のユーザー(ログインしているかどうかにかかわらず)の処理方法を示しています。

add_action( 'wp_ajax_my_action', 'my_action' );
add_action( 'wp_ajax_nopriv_my_action', 'my_action' );

my_action関数はあなたのテーマファイルに入ります(私が私のところで働いていたとき、私はAJAXを扱うために私自身のプラグインを作成しました)。

これがあなたを正しい道へと導いてくれることを願っています。

1
scott