it-swarm.com.de

Wie entferne ich den Theme Customization Button von der Seite mit den Dashboard- und Theme-Optionen?

In meinem Wordpress-Theme, das ich gerade erst erstellt habe, kann ich die Wordpress-Theme-Anpassungs-API nicht nutzen. So viel ich auch möchte, ich habe viel zu viel Zeit in mein eigenes Framework für Themenoptionen investiert, um Dinge zu ändern.

Das führt mich zu meiner Frage. Wie entferne ich die blaue Schaltfläche "Website anpassen" aus dem Dashboard sowie den Link, der beim Anzeigen von Darstellung> Designs angezeigt wird? Ich habe ein bisschen gegoogelt, aber mein Google-Fu ist fehlgeschlagen und ich konnte keine Lösung finden, die kein CSS oder Javascript verwendet.

Idealerweise ist ein Haken zum Entfernen am besten. Aber wenn es keinen sauberen Weg gibt, wäre eine JS- und/oder CSS-Lösung in Ordnung.

6

Mit der neuesten Version von WordPress (4.3) können Sie jetzt die Theme-Switch-Einstellungen des Customizers nativ entfernen, ohne auf CSS-Hacks zurückgreifen zu müssen.

/**
 * Remove customizer options.
 *
 * @since 1.0.0
 * @param object $wp_customize
 */
function ja_remove_customizer_options( $wp_customize ) {
   //$wp_customize->remove_section( 'static_front_page' );
   //$wp_customize->remove_section( 'title_tagline'     );
   //$wp_customize->remove_section( 'nav'               );
   $wp_customize->remove_section( 'themes'              );
}
add_action( 'customize_register', 'ja_remove_customizer_options', 30 );
5
jaredatch

In der neuesten Version von WordPress ist der Themenbereich ein Bereich, daher muss er wie folgt entfernt werden:

add_action( 'customize_register', 'prefix_remove_customizer_options', 30 );
/**
 * Remove customizer options.
 *
 * @since 1.0.0
 * @param object $wp_customize The current WordPress customizer object.
 */
function prefix_remove_customizer_options( $wp_customize ) {
    $wp_customize->remove_panel( 'themes' );
}
2
Robert Neu

Es gibt keine Haken zu diesem Teil des Dashboards.

Es muss mit CSS gemacht werden (oder mit jQuery, wenn Sie es in eine andere Sache umwandeln wollen).

add_action( 'admin_head-index.php', 'hide_customize_button_wpse_82424' );

function hide_customize_button_wpse_82424(){
    ?>
    <style type="text/css">div.welcome-panel-column:first-child {display:none;} </style>
    <?php
}

[update]

Wie von @helenhousandi in einem Kommentar gezeigt:

die Funktion wp_welcome_panel() wird dem Hook welcome_panel hinzugefügt, aber nein, es gibt (absichtlich) keine Hooks in dieser Funktion.

Ein weiterer Ansatz besteht darin, den Aktions-Hook zu entfernen und die Funktion wp_welcome_panel() wie folgt neu zu erstellen:

add_action( 'load-index.php', 'remove_welcome_panel' );
function remove_welcome_panel()
{
    remove_action( 'welcome_panel', 'wp_welcome_panel' );
    add_action( 'welcome_panel', 'my_welcome_panel' );
}

Und my_welcome_panel ist eine Replik vonwp_welcome_panel(), wie man es wünscht.

Bitte beachten Sie auch ihre Bemerkung:  meine Betonung

Ich würde jedoch vorschlagen, dass ein öffentlich verteiltes Design es nicht entfernt, da ein Benutzer möglicherweise erwartet, dass es vorhanden ist. Wir haben in Benutzertests festgestellt, dass viele neue Benutzer auch nach dem Kennenlernen zu diesem Begrüßungsfenster zurückgekehrt sind.

1
brasofilo

Sie müssen den folgenden Code an function.php übergeben

function theme_option_remove( $wp_customize ) {
$wp_customize->remove_section("themes");
}
add_action( 'customize_register', 'theme_option_remove' ,20 );
0