register_theme_directory somehow “fails” when folder is outside of WP-Folder

While I cannot speak to your specific white-screen issue, registered theme directories must be within the Apache document root, at minimum. Many files in themes, such as CSS, JS, images, etc, are served directly by the webserver, not via calls to WordPress. So having a theme directory that is not directly accessible and serve-able by … Read more

Convert PHP readfile to WP_Filesystem

Reading a file to send to the user is perfectly safe and does not necessarily need to be converted to the WP_Filesystem methods. Only writing is potentially an issue. However, if you wanted to do so, this would be the equivalent: echo $wp_filesystem->get_contents( filename variable here ); Also, note that your filename for “put_contents” is … Read more

Widgets not showing in my custom theme

You’re using the widget name and not i.d which is why it isn’t working. Change this: if (is_active_sidebar( ‘My_Widgtet_Area’ ) ) : ?> <div id=”widget-sidebar”> <ul> <?php dynamic_sidebar( ‘My_Widgtet_Area’ ); ?> </ul> To this: if (is_active_sidebar( ‘partner-slide’ ) ) : ?> <div id=”widget-sidebar”> <ul> <?php dynamic_sidebar( ‘partner-slide’ ); ?> </ul> The i.d in the template … Read more

WordPress Multisite: Have the same header and footer of main-blog on all sub-blogs

You could use the switch_to_blog() function Switches the active blog until the user calls the restore_current_blog() function. This function is useful if you need to pull posts, or other information, from other blogs, you can then switch back after using restore_current_blog(). Using this function will not load plugins that only run on the blog you … Read more

Prevent WordPress updates from overriding custom language translations?

Modify your installation such that your custom Farsi language files are associated with a non-standard WPLANG value. For example, instead of the standard ‘fa_IR’, maybe try something non-standard like ‘farsi_IR’ (or even ‘myCustomFarsi_IR’). This way, when new WordPress versions are released for the “official” Farsi version, you will no longer get updated.