Wo wp_insert_user () und wp_insert_post () aufrufen?

Ich versuche, mit den functionen wp_insert_user () und wp_insert_post () mehrere Benutzer und Posts stapelweise einzufügen. Das Problem ist, ich kann keine klaren statementen finden, wo ich diese functionen aufrufen soll. Alles spricht von “Haken”, aber ich möchte nichts haken; Ich möchte zB eine bestimmte URL in einem Webbrowser besuchen und den Import durchführen lassen. Soll ich die Anrufe in eine spezielle Themendatei stellen? Im Stammverzeichnis meiner WordPress-Installation? Wie kann ich auslösen, dass der functionsaufruf im richtigen Kontext stattfindet?

Solutions Collecting From Web of "Wo wp_insert_user () und wp_insert_post () aufrufen?"

Ich weiß nicht, warum Sie Haken als eine mögliche Lösung ausschließen möchten, weil ich immer noch denke, dass dies die beste Option ist

OPTION 1 – ohne Haken

Damit dies funktioniert, muss die spezifische URL, die Sie verwenden möchten, vorhanden sein und keine 404 zurückgeben. Ich denke, Ihre beste Option wäre hier, eine private Seite zu erstellen und Ihren Code direkt in eine bestimmte Vorlage einzufügen, die dafür verwendet wird Seite. Wenn Sie dann diese bestimmte Seite besuchen, wird Ihr Code ausgeführt.

IMHO, das ist wirklich eine schlechte Lösung, obwohl

OPTION 2 – Verwenden von Haken

Meiner Meinung nach wird dies die beste Option sein

OPTION 2.1

Fügen Sie Ihren Code in ein Plugin ein und haken Sie Ihren Code in den haken von register_activation_hook . Dadurch wird sichergestellt, dass der Code ausgeführt wird, wenn das Plug-in aktiviert wird, und danach nicht mehr bei jedem Laden der Seite

OPTION 2.2

Fügen Sie Ihren Code in Ihr Thema ein und haken Sie ihn in den after_theme_switch Hook ein. Dies wird ausgeführt, sobald Sie Ihr Design aktivieren.

OPTION 2.3

Mit den bedingten Tags können Sie gezielt auf eine bestimmte Seite verweisen und dann Ihre function aktivieren, um Ihren Code beim Besuch dieser bestimmten URL auszuführen. Sie können hier den wp Hook verwenden, da zu dem Zeitpunkt, an dem wp ausgeführt wird, die bedingten Tags gesetzt sind. Sie können auch den template_redirect Hook verwenden, der von vielen bevorzugt wird.

Zwischen diesen drei Optionen sind sie der beste Weg, IMHO zu nehmen.

WICHTIGE NOTIZ:

Sie sollten Ihr System so aufbauen, dass es, wenn Sie versehentlich oder wissentlich den Code zweimal ausführen, beim zweiten Durchlauf nichts tun würde. Wahrscheinlich wäre die beste Option, etwas in Optionen zu speichern und dann nach einem bestimmten Wert zu suchen, bevor Sie Ihren Code ausführen.

BEISPIEL:

 add_action( 'wp', function () // Can also use template_redirect as $tag { // Make sure we target a specific page, if not our page, bail if ( !is_page( 'my selected page' ) ) // Use any conditional tag here to your specific needs return; // Chech if our custom option exist with a specific value, if yes, bail if ( true == get_option( 'my_custom_option' ) ) return; /** * This is where you should do all your work as we are on the selected page * and our option does not exist with our prefered value. Just a few notes here * which you should consider * - Before inserting users, make sure that the user does not exist yet * - Before inserting posts make sure as to not duplicate posts */ // Run all your code here to insert posts and users /** * Create and update our option with the value of `true`. * This will ensure that our code will be executed once */ update_option( 'my_custom_option', 'true' ); });