OpenSSH 7.3 on CentOs 6.7

A simple script to upgrade OpneSSH on CentOs 6.7.

To use you can run following command with root user

bash <( curl -s ) 

User Avatar in buddyPress notification loop

To display user avatar in buddypress notification-loop (You can find it in members / single / notifications / notifications-loop.php )

Below snippet will return user id of that activity ( BuddyPress stored it as  secondary_item )

$bp      = buddypress();
$user_id = $bp->notifications->query_loop->notification->secondary_item_id;

To echo avatar from user id :

echo bp_activity_avatar( array( 'user_id' => $user_id ) );

Loading IE Conditional Stylesheets in WordPress

Most web developers are familiar with the IE conditional comments that allow you to load a stylesheet only in Internet Explorer.

<!-- [if lt IE 9]>
   <link href="ie.css" rel="stylesheet" type="text/css">

Many new WordPress developers tend to just hardcode these conditional comments directly into their theme’s header.php file. The correct way to load stylesheets in WordPress is using the wp_enqueue_style() function.

add_action( 'wp_enqueue_scripts', 'enqueue_my_styles' );

function enqueue_my_styles() {
   global $wp_styles;
   enqeue_style( 'my-theme-ie', get_stylesheet_directory_uri() . 'ie.css' );
   //add_data function to add IE Condition
   $wp_styles->add_data( 'my-theme-ie', 'conditional', 'IE 9' );


Automatic update of Child Theme to Parent Theme

After automatic update of child theme to parent theme, During update we just update code of theme, but what about WordPress, WordPress still assuming current theme as child theme.

When you activate child theme, there are mainly two site options template and stylesheet who store parent theme and child theme slug. After updating you have to update that site option also (There are others relative options also).

Add following code into your theme function.php

if ( is_child_theme() && 'current-theme-slug' != get_template() ) {
    switch_theme( get_stylesheet() );

Enable Category/Tag support for WordPress Media files

To enable category/tag support on WordPress Media, You have to register taxonomy for Media(attachment) by adding following code in theme function.php or in plugin file

register_taxonomy( 'media-category', 'attachment', $args );

Note : This will work with WordPress 3.5 or higher.

Check if session is started or not in php

To avoid Cannot send session cookie - headers already sent warning which is cause by calling session_start() function without checking if the session is already start or not.

You can find following warning in error log file :

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /xxx/xxx/abc.php:8) in /xxx/xxx/test.php on line 11

Recommended way for versions of PHP >= 5.4.0

if ( session_status() == PHP_SESSION_NONE ) {


For versions of PHP < 5.4.0

if ( session_id() == '' ) {

Get php class file path from class name – ReflectionClass

During development of common library for WordPress plugins and themes ( WordPress development helper library ), I just want to find from which plugin it is called ( I just want to debug the code, but I used in many plugins and i am not able to track from which plugin it is actually loading ).

Then  I found about ReflectionClass,  reports information about a class.

You can read more detail about ReflectionClass from

Here is how to get file path from class name

$autoloader_reflector = new ReflectionClass("RT_WP_Autoload");
$class_file_nanme = $autoloader_reflector->getFileName();
echo dirname($class_file_nanme);

This is same as reflection api in java, There are some good reflection examples to get you started reflection api in java at