Permanent WordPress Theme aktivieren

Ist es möglich, ein Thema dauerhaft zu aktivieren, damit es nicht deaktiviert oder geändert werden kann?

Ähnliches wie:

define( 'WP_DEFAULT_THEME', 'apollo' ); 

Solutions Collecting From Web of "Permanent WordPress Theme aktivieren"

Hier ist eine Idee:

 /** * Reactivate the sticky theme, if someone activates another theme. */ add_action( 'switch_theme', 'wpse_permanent_theme' ); function wpse_permanent_theme( $new_name ) { $sticky_theme_name = 'twentyfifteen'; // Modify this to your needs! // Get the sticky theme info, to check if it exists (named): $sticky_theme = wp_get_theme( $sticky_theme_name ); // Reactivate the sticky theme: if( $sticky_theme->get( 'Name' ) && $sticky_theme_name !== $new_name ) { remove_action( current_action(), __FUNCTION__ ); switch_theme( $sticky_theme_name ); } } 

Dort müssen Sie den Namen des Sticky-Themes an Ihre Bedürfnisse anpassen. Möglicherweise müssen Sie dies weiter testen.

Eine andere Sache zu versuchen wäre, die switch_themes Fähigkeit für alle Benutzer zu entfernen!

Zum Beispiel können wir diese Fähigkeit im Handumdrehen herausfiltern mit:

 /** * Remove the 'switch_themes' capability for all users. */ add_filter('user_has_cap', function( $allcaps ) { if( isset( $allcaps['switch_themes'] ) ) unset( $allcaps['switch_themes'] ); return $allcaps; }); 

current_user_can( 'switch_themes' ) überprüft der current_user_can( 'switch_themes' ) während einer Aktivierung eines Themas in themes.php false.