আমি কীভাবে প্রোগ্রামিংয়ে আমার ওয়ার্ডপ্রেস ব্লগে সক্রিয় প্লাগইনগুলির একটি তালিকা পেতে পারি?


13

আমার 2 টি ব্লগ রয়েছে, একটিটি মাল্টিসাইট এবং একটি যা নেই। আমি উভয় ব্লগে সক্রিয় প্লাগইনগুলির একটি তালিকা পেতে চাই যাতে আমি তাদের তুলনা করতে পারি। মাল্টিসাইট ব্লগে, আমি প্লাগইনগুলি তালিকাবদ্ধ করতে চাই যাগুলি নেটওয়ার্ক-প্রশস্ত পাশাপাশি সাইটের প্রশস্তভাবে সক্ষম are

উত্তর:


20

সক্রিয় প্লাগইনগুলি কী এর অধীনে একটি ওয়ার্ডপ্রেস ব্লগের বিকল্পগুলির সারণীতে সংরক্ষণ করা হয় active_plugins

যাতে আপনি get_option('active_plugins'); প্রতিটি ব্লগ ব্যবহার করতে পারেন এবং অ্যারের সাথে তুলনা করতে পারেন ।


2
এটি যোগ করার মতো যে get_plugins () আপনাকে নিষ্ক্রিয় ব্যক্তিদের সহ সমস্ত প্লাগইন দেবে।
চার্লস জ্যামেট

13

ড্যাশবোর্ড উইজেটের আকারে, একক সাইট এবং নেটওয়ার্ক সাইট ড্যাশবোর্ডের জন্য, অন্যটি মাল্টিসাইট নেটওয়ার্ক ড্যাশবোর্ডের জন্য।

/*
 * Single Site Dashboard Widget
 */
add_action('wp_dashboard_setup', 'wpse_54742_wp_dashboard_setup');

function wpse_54742_wp_dashboard_setup() {
    wp_add_dashboard_widget( 'wpse_54742_active_site_plugins', __( 'Active Plugins' ), 'wpse_54742_active_site_plugins' );
}

function wpse_54742_active_site_plugins() {
    $the_plugs = get_option('active_plugins'); 
    echo '<ul>';
    foreach($the_plugs as $key => $value) {
        $string = explode('/',$value); // Folder name will be displayed
        echo '<li>'.$string[0] .'</li>';
    }
    echo '</ul>';
}


/*
 * Multisite Dashboard Widget
 */
add_action('wp_network_dashboard_setup', 'wpse_54742_network_dashboard_setup');

function wpse_54742_network_dashboard_setup() {
    wp_add_dashboard_widget( 'wpse_54742_active_network_plugins', __( 'Network Active Plugins' ), 'wpse_54742_active_network_plugins' );
}

function wpse_54742_active_network_plugins() {
    /*
     * Network Activated Plugins
     */
    $the_plugs = get_site_option('active_sitewide_plugins'); 
    echo '<h3>NETWORK ACTIVATED</h3><ul>';
    foreach($the_plugs as $key => $value) {
        $string = explode('/',$key); // Folder name will be displayed
        echo '<li>'.$string[0] .'</li>';
    }
    echo '</ul>';


    /*
     * Iterate Through All Sites
     */
    global $wpdb;
    $blogs = $wpdb->get_results($wpdb->prepare("
        SELECT blog_id
        FROM {$wpdb->blogs}
        WHERE site_id = '{$wpdb->siteid}'
        AND spam = '0'
        AND deleted = '0'
        AND archived = '0'
    "));

    echo '<h3>ALL SITES</h3>';

    foreach ($blogs as $blog) {
        $the_plugs = get_blog_option($blog->blog_id, 'active_plugins'); 
        echo '<hr /><h4><strong>SITE</strong>: '. get_blog_option($blog->blog_id, 'blogname') .'</h4>';
        echo '<ul>';
        foreach($the_plugs as $key => $value) {
            $string = explode('/',$value); // Folder name will be displayed
            echo '<li>'.$string[0] .'</li>';
        }
        echo '</ul>';
    }
}

1
এটি আমার প্রয়োজনের চেয়ে অনেক বেশি ছিল তবে এই জাতীয় বিস্তারিত উত্তর দেওয়ার জন্য আপনাকে সময় দেওয়ার জন্য সত্যই প্রশংসা করি। আশা করি, এটি অন্য কাউকে সহায়তা করবে। ধন্যবাদ.
mehulved

4

যে সাইটগুলিতে সেগুলি ব্যবহৃত হয় সেগুলি সহ প্লাগইনগুলির তালিকা (কেবলমাত্র মাল্টিসাইট)

বর্তমানে আপনি কোন প্লাগইনটি সক্রিয় এবং কোন সাইটে রয়েছে তা জানতে যদি আপনি এই জাতীয় ফাংশন ব্যবহার করতে পারেন:

function wpstars_list_active_plugins() {

  if ( function_exists( 'get_sites' ) && class_exists( 'WP_Site_Query' ) ) {

    echo "<table class='active-plugins'>";
    echo "<tr><th>Plugin name</th><th>Sites</th></tr>";

    $plugins = get_plugins();

    // Network activated
    $active_plugins = get_site_option('active_sitewide_plugins');
    foreach($active_plugins as $active_path => $active_plugin) {

      $plugins[$active_path]['Sites'] = "A,";
    }

    // Per site activated
    $sites = get_sites();
    foreach ( $sites as $site ) {

      $active_plugins = get_blog_option($site->blog_id, 'active_plugins');
      foreach($active_plugins as $active_plugin) {

        $plugins[$active_plugin]['Sites'] .= $site->blog_id . ",";
      }
    }

    foreach($plugins as $plugin) {

      echo "<tr><td>{$plugin['Name']}</td><td>{$plugin['Sites']}</td></tr>";
    }

    echo "</table>";
  }
}

1

ডাব্লুপি-সিএলআই কেবল টিকিট। আমি ব্যবহার করেছি যদি এত কিছুর জন্য, আমি গণনা হারিয়ে ফেলেছি!

wp plugin list --status=active

আপনি যদি চান তবে আপনার স্থানীয় মেশিনে এই এলিয়াসগুলি এলিয়াস দিয়ে চালাতে পারেন ...

তারপরে আপনি @ সাইট ফাংশনটি ব্যবহার করবেন

wp @all plugin list --status=active

অথবা

wp @multisite list --status=active
wp @blog list --status=active
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.