ShahiAssist

Multisite and WP-CLI Support

ShahiAssist provides comprehensive support for WordPress Multisite installations and WP-CLI for command-line management. This guide covers configuration, usage, and best practices for these advanced deployment scenarios.

Multisite Support

Network Activation

ShahiAssist can be activated network-wide or per-site in a multisite installation.

Network-Wide Activation

  1. Go to Network Admin → Plugins
  2. Find ShahiAssist and click Network Activate
  3. The plugin will be available on all sites
  4. Per-Site Activation

  5. Go to individual site Dashboard → Plugins
  6. Activate ShahiAssist for that specific site
  7. Each site maintains separate data and settings
  8. Multisite Configuration

    Shared Settings

    For network-wide settings:
    `php
    // In wp-config.php or custom plugin
    define(‘SHAHIASSISTNETWORK_SETTINGS’, true);

    // Network settings override site settings
    addfilter(‘shahiassistgetsetting’, function($value, $key) {
    if (SHAHIASSISTNETWORK_SETTINGS) {
    $networkvalue = getsiteoption(‘shahiassist_’ . $key);
    if ($network_value !== false) {
    return $network_value;
    }
    }
    return $value;
    }, 10, 2);
    `

    Site-Specific Settings

    Allow sites to override network settings:
    `php
    addfilter(‘shahiassistsettingsfields’, function($fields) {
    if (is_multisite()) {
    $fields[‘allowsiteoverride’] = [
    ‘type’ => ‘checkbox’,
    ‘label’ => __(‘Allow sites to override network settings’, ‘shahi-assist’),
    ‘default’ => false,
    ];
    }
    return $fields;
    });
    `

    Data Isolation

    In multisite, data is automatically isolated per site:

    • Tickets belong to the site where they were created
    • KB articles are site-specific
    • Settings are stored per-site unless configured otherwise
    • Network Admin Features

      `php
      // Add network admin menu
      addaction(‘networkadmin_menu’, function() {
      addmenupage(
      ‘ShahiAssist Network’,
      ‘ShahiAssist’,
      ‘manage_network’,
      ‘shahi-assist-network’,
      ‘shahiassistnetwork_page’,
      ‘dashicons-admin-tools’
      );
      });

      function shahiassistnetwork_page() {
      ?>

      toblog($site->blog_id);
      $totaltickets += wpcount_posts(‘ticket’)->publish;
      $totalarticles += wpcountposts(‘kbarticle’)->publish;
      restorecurrentblog();
      }
      ?>

      _(‘Total Tickets: %d’, ‘shahi-assist’), $totaltickets); ?>

      _(‘Total KB Articles: %d’, ‘shahi-assist’), $totalarticles); ?>

      WP-CLI Handbook
    • WordPress Multisite
    • WP-CLI Custom Commands
    • ShahiAssist WP-CLI Reference

Share this article

Was this article helpful?

Help us improve our documentation

Still need help?

Our support team is ready to assist you with personalized guidance for your workspace.

Submit a support ticket