mardi 19 avril 2016

Can you shorten this in WordPress with a PHP Function?

Here is my code:

$um_verified_users_plugin = 'um-verified-users/um-verified-users.php';
if ( $um_verified_users_plugin ) {
$plugins = get_plugins();
$plugin_data = $plugins[$um_verified_users_plugin];
define('um_verified_extension', $plugin_data['Name'] );
define('um_verified_users_version', $plugin_data['Version'] );
define('um_verified_users_url',plugin_dir_url(__FILE__ ));
define('um_verified_users_path',plugin_dir_path(__FILE__ ));
define('um_verified_users_plugin', plugin_basename( __FILE__ ));
check_premium_plugin_active( $um_verified_users_plugin, um_verified_extension, 'Premium', um_verified_users_version);
check_premium_plugin_inactive( $um_verified_users_plugin, um_verified_extension, 'Premium', um_verified_users_version);
}

$um_activity_plugin = 'um-activity/um-activity.php';
if ( $um_activity_plugin ){
$plugins = get_plugins();
$plugin_data = $plugins[$um_activity_plugin];
define('um_activity_extension', $plugin_data['Name'] );
define('um_activity_version', $plugin_data['Version'] );
define('um_activity_url',plugin_dir_url(__FILE__ ));
define('um_activity_path',plugin_dir_path(__FILE__ ));
define('um_activity_plugin', plugin_basename( __FILE__ ));
check_premium_plugin_active( $um_activity_plugin, um_activity_extension, 'Premium', um_activity_version);
check_premium_plugin_inactive( $um_activity_plugin, um_activity_extension, 'Premium', um_activity_version);
}

I am showing two blocks of code for two separate plugins that I check outside my own. I'm learning how to write my own plugin at this time. My question is, can I shorten this with a function?

This data is pulled into my other function that echoes returning plugins that are active and premium:

function check_premium_plugin_active( $plugin_url, $plugin_name, $plugin_type, $plugin_version) {
// If Plugin is Active and Installed
if (is_plugin_active($plugin_url) && file_exists(ABSPATH.'/wp-content/plugins/'.$plugin_url) && ($plugin_type == 'Premium')){

    echo $plugin_name . " <sup>" . $plugin_version . "</sup> - " . $plugin_type . " - Active and Installed.<p>";
    }
}

As I am learning as I go, I'm wondering if there is an easier way to accomplish this. :)

Thanks in Advance.



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire