Hinzufügen eines Metabox-Shortcodes “paypal accept payment” in meinem benutzerdefinierten Post-Typ-Back-End

Ich habe ein Wissenschaftsjournal mit Annotum-Thema erstellt, jetzt möchte ich, dass Benutzer zahlen, wenn sie einen Artikel veröffentlichen, aber ich habe keine Programmierkenntnisse, um dies zu tun, wenn sie auf Publizieren klicken, um mit Paypal zu bezahlen, also möchte ich ein Meta-Feld erstellen In meinem benutzerdefinierten Beitragstyp: Artikel, die ein WP Easy Paypal Payment Accept Widget im Adminbereich des Artikels Beitragstyp enthält. Im Dashboard Adminbereich habe ich dieses Widget mit diesem Code erstellt (mit Paypal_payment_accept();) : : Paypal_payment_accept();) :

  function wpc_dashboard_widget_function() { // Entering the text between the quotes echo Paypal_payment_accept(); } function wpc_add_dashboard_widgets() { wp_add_dashboard_widget('wp_dashboard_widget', 'Technical information', 'wpc_dashboard_widget_function'); } add_action('wp_dashboard_setup', 'wpc_add_dashboard_widgets' ); 

Die Frage ist also klar:

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Solutions Collecting From Web of "Hinzufügen eines Metabox-Shortcodes “paypal accept payment” in meinem benutzerdefinierten Post-Typ-Back-End"

Fügen Sie dies Ihrem Kindthema / plugin functions.php hinzu. Ich denke, das sollte den Trick bringen. Gib mir Bescheid

 function your_meta_callback( $post ) { echo Paypal_payment_accept(); } add_meta_box( 'your_meta', __( 'Meta Box Title', 'your-textdomain' ), 'your_meta_callback', 'your-posttype-name', 'side' ); 

Weitere Informationen finden Sie unter WordPress-Codex auf add_meta_box () .


Update: Ok, ich habe mir das angeschaut. Wenn wir ein Formular in das Post-Editor-Formular verschachteln, werden wir Probleme bekommen, da es zwei Submits und andere Dinge gibt. Der beste Ansatz wäre also, ein modales (natives jQuery Popup von WordPress) zu verwenden. Basierend auf Ihrem Quellcode aus dem Kommentar würde ich es wie folgt ändern:

 function wpt_article_pay() { global $pagenow,$typenow; //Enqueue the required script to use a modal add_thickbox(); //Check if you are on the correct page if (!in_array( $pagenow, array( 'post.php', 'post-new.php' ) )) return; /* Add a link to open the modal (uses the inlineID) to open the code we later add in the footer */ echo 'PayPal'; } //Enqueue the inline form to be displayed in the modal. function enqueue-your-paypal-modal(){ global $pagenow,$typenow; if (!in_array( $pagenow, array( 'post.php', 'post-new.php' ))) return; ?>  < ?php } add_filter('admin_footer','enqueue-your-paypal-modal'); 

Dies stellt sicher, dass Sie eine funktionierende Paypal-Schaltfläche haben, aber es wird NICHT die korrekte Rückgabe-URL definiert, da Sie nur eine in den Plugin-Einstellungen definieren können. Sie können auch nicht festlegen, dass es in einem neuen Fenster geöffnet werden soll. Ich weiß nicht, ob Sie sich wohl genug fühlen, dies zu tun, aber ich würde vorschlagen, in die Schaltfläche API von Paypal zu schauen und vielleicht den Button selbst zu erstellen: https://developer.paypal.com/docs/classic/paypal-payments -Standard / Integrationsleitfaden / ProfileAndTools / # id08A9E900IEX