Das Umschreiben des Archivseiten-Slugs unterscheidet sich vom benutzerdefinierten Post-Typ-Slug

Ich habe Probleme, den Block meiner Archivseite zu ändern. Ziel ist es, eine Seite zu erstellen, die mit den Slugspeakers vom Backend von WP aus bearbeitet werden kann, die aber bereits von der Archivseite übernommen wurde. Dies muss kundenfreundlich sein, damit es nicht nur im PHP editierbar ist. Ich bin bereit, das zu tun, was jeder für die beste Idee hält.

Ideen:

  • Entfernen Sie die Archivseite alle zusammen
  • Umschreiben des Slugs zum speaker oder presenter , so kann ich eine Seite mit dem speakers Slug erstellen
  • Archivseite editierbar machen

Hat jemand Ideen dazu? Ich habe einen benutzerdefinierten Post-Typ erstellt und versucht, has_archive auf false und ein Slug-Array zu erstellen, aber es hat nicht funktioniert. Und wenn Sie es nur auf “falsch” setzen, wird eine Liste mit regulären Posts erstellt.

Vielen Dank!

Solutions Collecting From Web of "Das Umschreiben des Archivseiten-Slugs unterscheidet sich vom benutzerdefinierten Post-Typ-Slug"

Es gibt einen einfacheren Weg, kümmere dich nicht um die Seite.

Speichern Sie den Inhalt stattdessen in einer Option oder einem Themenmod und verwenden Sie das Einstellungs-API / den Customizer, um den Inhalt zu bearbeiten.

Um das textarea , das den Inhalt in Ihrem Formular enthält, in einen vollständigen Editor wp_editor , verwenden Sie die function wp_editor , um einen WYSIWYG-Editor zu erhalten, der wie der Bildschirm für die Bearbeitungsseite aussieht und funktioniert. Verwenden Sie get_option oder get_theme_mod , um den Inhalt im Frontend abzurufen, und übergeben Sie ihn über den Filter ” the_content , damit die Shortcodes und Absätze von Oembeds funktionieren.

So fügen Sie beispielsweise einen bearbeitbaren Footer-Inhaltsbereich zum Customizer hinzu ( von hier )

 add_action( 'customize_register', 'your_customizer' ); function your_customizer( $wp_customize ) { $wp_customize->add_section( 'appearance_settings', array( 'title' => __('Appearance Settings'), 'description' => __('Modify design options'), 'priority' => 120, ) ); $wp_customize->add_setting( 'footer_content', array( 'default'=>'default text' )); $wp_customize->add_control( new Example_Customize_Editor_Control( $wp_customize, 'footer_content', array( 'label' => 'Footer content', 'section' => 'appearance_settings', 'settings' => 'footer_content' ) ) ); } 

Hier ist die Inhaltskontrolle des Editors:

 if(class_exists('WP_Customize_Control')){ class Example_Customize_Editor_Control extends WP_Customize_Control { public $type = 'textarea'; public function render_content() { ?>  < ?php } } } 

Hier ein paar JS, um das Vorschau-Fenster zu aktualisieren:

 jQuery(document).ready(function($){ $('textarea[name="footer_content"]').attr('data-customize-setting-link','footer_content'); setTimeout(function(){ var editor2 = tinyMCE.get('footer_content'); if(editor2){ editor2.onChange.add(function (ed, e) { // Update HTML view textarea (that is the one used to send the data to server). ed.save(); $('textarea[name="footer_content"]').trigger('change'); }); } },1000); }) 

Und hier ist etwas PHP, um die js zu laden:

 function your_customize_backend_init(){ wp_enqueue_script('your_theme_customizer', get_template_directory_uri.'/customizer/customizer.js'); } add_action( 'customize_controls_enqueue_scripts', 'your_customize_backend_init' );