it-swarm.com.de

So erlauben Sie Benutzern, die nicht angemeldet sind WP System-Upload in Medienbibliothek?

Ich stecke gerade fest. Für mein Projekt muss ich eine Anmeldung erstellen, die nicht das Benutzersystem WP verwendet, sondern ein anderes System.

Wenn ich mich mit der System-API anmelde, habe ich ein Cookie erstellt, aber natürlich kein WP-Cookie für den angemeldeten Benutzer. Daher möchte ich einem Benutzer das Hochladen mit der Medienbibliothek von WP (erlauben. Link von WP Codex ) einige Dateien, aber es funktioniert nicht.

Ich habe auch die Datei admin-ajax.php (temporäre Änderung des WordPress-Kerns) bearbeitet, um zu erzwingen, dass ein Post-Anhang erstellt wird, auch für den Fall, dass der Benutzer nicht angemeldet ist:

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

aber async-upload.php antwortet mit 302 und ich weiß nicht, wie ich vorgehen soll.

UPDATE:
das problem ist das gleiche von diesem benutzer: hier klicken

Ich habe versucht, wp_ajax_my_action und wp_ajax_nopriv_myaction zu verwenden, aber es hat sich nichts geändert. Ich muss zulassen, dass kein Benutzer in WP angemeldet ist, um einen Anhang hochzuladen, und diesen Anhang seinem ID-Autor zuweisen (z. B. 12345), da jeder Benutzer nur Ihre Medien sehen muss (ich werde pre_get_posts und noch verwenden) Arbeit).

2
ClodClod91

Erstens möchten Sie die WP Kerndateien nicht bearbeiten, da Ihre Änderungen bei einem Update verschwinden. Aus diesem Grund werden Sie aufgefordert, untergeordnete Themen zu erstellen.

Zweitens möchten Sie vielleicht diese Codex-Seite in AJAX lesen. Beachten Sie, dass hier gezeigt wird, wie beide Arten von Benutzern (angemeldet und nicht angemeldet) behandelt werden:

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

Die Funktion my_action wurde in Ihre Designdateien eingefügt (als ich an meiner gearbeitet habe, habe ich mein eigenes Plugin für AJAX erstellt).

Ich hoffe, das bringt Sie auf den richtigen Weg.

1
scott