Getting headers property from WP_Theme object

You cannot access the $headers property as it is a private property. Members declared as private may only be accessed by the class that defines the member For that reason, you get NULL when you try to access the property with wp_get_theme()->headers. You need to make use of the magic __get() method of the class … Read more

What does “Do not deregister the jquery script in the administration area” mean?

Based on the error… add_action( ‘wp_enqueue_scripts’, function(){ if (is_admin()) return; // don’t dequeue on the backend wp_deregister_script( ‘jquery’ ); wp_register_script( ‘jquery’, ‘http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js’, array(), null, false ); wp_enqueue_script( ‘jquery’); }); Honestly, unless you have tremendous traffic over a broad geographic area, I’d say that CDNs are grossly over-rated. I’ve watched the hangup on sites I’ve managed … Read more

Where do I find the functions triggered within a hook?

Looking at the current version of Storefront’s header.php: /** * Functions hooked into storefront_header action * * @hooked storefront_skip_links – 0 * @hooked storefront_social_icons – 10 * @hooked storefront_site_branding – 20 * @hooked storefront_secondary_navigation – 30 * @hooked storefront_product_search – 40 * @hooked storefront_primary_navigation_wrapper – 42 * @hooked storefront_primary_navigation – 50 * @hooked storefront_header_cart – … Read more

Set active theme via URL

I created simple class which will do exactly what you want. To switch theme you must add theme GET parameter to your site url with name of the theme. http://example.com/?theme=twentyfifteen Selected theme will also be stored in cookie so next time the user enters the site he will have earlier selected theme. class WPSE_287356_Theme_Switcher { … Read more

Multisite: setting theme and options when a new blog is created

The best hook I can find is wpmu_new_blog (line 1086, wp-includes/ms-functions.php, wpmu_create_blog()) – it passes 6 arguments like so; do_action( ‘wpmu_new_blog’, $blog_id, $user_id, $domain, $path, $site_id, $meta ); $meta is an array of initial site options, not to be confused with the options generated by populate_options(). Programatically creating nav menus may prove to be a … Read more

Disable author pages for specific users

I think a combination of the answers so far along with an admin area field to disable the author archive(s) is the best bet. A class to wrap everything up (along with some constants and methods that will be clear later): <?php class Author_Archive_Disabler { // meta key that will store the disabled status const … Read more

Display custom_background outside wp_head()

custom_background() places the CSS to wp_head() as you mentioned so to get those CSS as if you don’t have wp_head() in your header, these tweaks from the core files would help: function wpse_228588_background_image_css() { $background_styles=””; if ( $bgcolor = get_background_color() ) $background_styles .= ‘background-color: #’ . $bgcolor . ‘;’; $background_image_thumb = get_background_image(); if ( $background_image_thumb … Read more