Astra_Theme_Extension::astra_addon_list( array $addons = array() )
Modified Astra Addon List
Description
Parameters
- $addons
-
(array) (Optional) Astra addon list.
Default value: array()
Return
(array) $addons Updated Astra addon list.
Source
File: classes/class-astra-theme-extension.php
public function astra_addon_list( $addons = array() ) {
$enabled_extensions = Astra_Ext_Extension::get_addons();
$extension_slugs = array_keys( $enabled_extensions );
$extension_slugs[] = 'white-label';
$ext_activate_notice = __( 'This plugin needs to be installed/activated', 'astra-addon' );
foreach ( $addons as $addon_slug => $value ) {
if ( ! in_array( $addon_slug, $extension_slugs ) ) {
continue;
}
$class = 'deactive';
$links = array(
array(
'link_class' => 'ast-activate-module',
'link_text' => __( 'Activate', 'astra-addon' ),
'link_url' => '',
),
);
if ( Astra_Ext_Extension::is_active( $addon_slug ) ) {
$class = 'active';
$links = array(
array(
'link_class' => 'ast-deactivate-module',
'link_text' => __( 'Deactivate', 'astra-addon' ),
'link_url' => '',
),
);
}
switch ( $addon_slug ) {
case 'advanced-hooks':
$links[] = array(
'link_class' => 'advanced-module',
'link_text' => __( 'Settings', 'astra-addon' ),
'link_url' => admin_url( '/edit.php?post_type=astra-advanced-hook' ),
);
break;
case 'advanced-headers':
$links[] = array(
'link_class' => 'advanced-module',
'link_text' => __( 'Settings', 'astra-addon' ),
'link_url' => admin_url( '/edit.php?post_type=astra_adv_header' ),
);
break;
case 'white-label':
$class = 'white-label';
$links = false;
$links[] = array(
'link_class' => 'advanced-module',
'link_text' => __( 'Settings', 'astra-addon' ),
'link_url' => Astra_Admin_Settings::get_page_url( $addon_slug ),
'target_blank' => false,
);
break;
case 'woocommerce':
$class .= ' woocommerce';
if ( ! class_exists( 'WooCommerce' ) ) {
$class .= ' ast-disable ast-modules-not-activated';
$links = array(
array(
'link_class' => 'ast-deactivate-module',
'link_text' => $ext_activate_notice,
'link_url' => '',
),
);
}
break;
case 'learndash':
$class .= ' learndash';
if ( ! class_exists( 'SFWD_LMS' ) ) {
$class .= ' ast-disable ast-modules-not-activated';
$links = array(
array(
'link_class' => 'ast-deactivate-module',
'link_text' => $ext_activate_notice,
'link_url' => '',
),
);
}
break;
case 'lifterlms':
$class .= ' lifterlms';
if ( ! class_exists( 'LifterLMS' ) ) {
$class .= ' ast-disable ast-modules-not-activated';
$links = array(
array(
'link_class' => 'ast-deactivate-module',
'link_text' => $ext_activate_notice,
'link_url' => '',
),
);
}
break;
case 'edd':
$class .= ' edd';
if ( ! class_exists( 'Easy_Digital_Downloads' ) ) {
$class .= ' ast-disable ast-modules-not-activated';
$links = array(
array(
'link_class' => 'ast-deactivate-module',
'link_text' => $ext_activate_notice,
'link_url' => '',
),
);
}
break;
}
$addons[ $addon_slug ]['links'] = $links;
$addons[ $addon_slug ]['class'] = $class;
// Don't show White Label tab if white label branding is hidden.
if ( ! Astra_Ext_White_Label_Markup::show_branding() ) {
unset( $addons['white-label'] );
}
}
return $addons;
}
Expand full source code Collapse full source code View on Trac
Changelog
| Version | Description |
|---|---|
| 1.2.1 | Introduced. |