mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-06 14:57:26 +08:00
AXO: Add a notice informing about potentially conflicting plugins being active
This commit is contained in:
parent
09ed0da25b
commit
8535601810
4 changed files with 58 additions and 1 deletions
|
@ -116,7 +116,14 @@ return array(
|
||||||
),
|
),
|
||||||
'axo_main_notice' => array(
|
'axo_main_notice' => array(
|
||||||
'heading' => '',
|
'heading' => '',
|
||||||
'html' => $container->get( 'axo.shipping-config-notice' ) . $container->get( 'axo.checkout-config-notice' ),
|
'html' => implode(
|
||||||
|
'',
|
||||||
|
array(
|
||||||
|
$container->get( 'axo.shipping-config-notice' ),
|
||||||
|
$container->get( 'axo.checkout-config-notice' ),
|
||||||
|
$container->get( 'axo.incompatible-plugins-notice' ),
|
||||||
|
)
|
||||||
|
),
|
||||||
'type' => 'ppcp-html',
|
'type' => 'ppcp-html',
|
||||||
'classes' => array( 'ppcp-field-indent' ),
|
'classes' => array( 'ppcp-field-indent' ),
|
||||||
'class' => array(),
|
'class' => array(),
|
||||||
|
|
|
@ -178,6 +178,13 @@ return array(
|
||||||
return $settings_notice_generator->generate_shipping_notice();
|
return $settings_notice_generator->generate_shipping_notice();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'axo.incompatible-plugins-notice' => static function ( ContainerInterface $container ) : string {
|
||||||
|
$settings_notice_generator = $container->get( 'axo.helpers.settings-notice-generator' );
|
||||||
|
assert( $settings_notice_generator instanceof SettingsNoticeGenerator );
|
||||||
|
|
||||||
|
return $settings_notice_generator->generate_incompatible_plugins_notice();
|
||||||
|
},
|
||||||
|
|
||||||
'axo.smart-button-location-notice' => static function ( ContainerInterface $container ) : string {
|
'axo.smart-button-location-notice' => static function ( ContainerInterface $container ) : string {
|
||||||
$settings = $container->get( 'wcgateway.settings' );
|
$settings = $container->get( 'wcgateway.settings' );
|
||||||
assert( $settings instanceof Settings );
|
assert( $settings instanceof Settings );
|
||||||
|
|
|
@ -89,4 +89,42 @@ class SettingsNoticeGenerator {
|
||||||
|
|
||||||
return $notice_content ? '<div class="ppcp-notice ppcp-notice-error"><p>' . $notice_content . '</p></div>' : '';
|
return $notice_content ? '<div class="ppcp-notice ppcp-notice-error"><p>' . $notice_content . '</p></div>' : '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generates the incompatible plugins notice.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function generate_incompatible_plugins_notice(): string {
|
||||||
|
$incompatible_plugins = array(
|
||||||
|
'Elementor' => did_action( 'elementor/loaded' ),
|
||||||
|
'CheckoutWC' => defined( 'CFW_NAME' ),
|
||||||
|
);
|
||||||
|
|
||||||
|
$active_plugins_list = array_filter( $incompatible_plugins );
|
||||||
|
|
||||||
|
if ( empty( $active_plugins_list ) ) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$incompatible_plugin_items = array_map(
|
||||||
|
function ( $plugin ) {
|
||||||
|
return "<li>{$plugin}</li>";
|
||||||
|
},
|
||||||
|
array_keys( $active_plugins_list )
|
||||||
|
);
|
||||||
|
|
||||||
|
$plugins_settings_link = esc_url( admin_url( 'plugins.php' ) );
|
||||||
|
$notice_content = sprintf(
|
||||||
|
/* translators: %1$s: URL to the plugins settings page. %2$s: List of incompatible plugins. */
|
||||||
|
__(
|
||||||
|
'<span class="highlight">Note:</span> The accelerated guest buyer experience provided by Fastlane may not be fully compatible with some of the following <a href="%1$s">active plugins</a>: <ul class="ppcp-notice-list">%2$s</ul>',
|
||||||
|
'woocommerce-paypal-payments'
|
||||||
|
),
|
||||||
|
$plugins_settings_link,
|
||||||
|
implode( '', $incompatible_plugin_items )
|
||||||
|
);
|
||||||
|
|
||||||
|
return '<div class="ppcp-notice"><p>' . $notice_content . '</p></div>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -133,6 +133,11 @@ $background-ident-color: #fbfbfb;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ppcp-notice-list {
|
||||||
|
list-style-type: disc;
|
||||||
|
padding-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
th, td {
|
th, td {
|
||||||
border-top: 1px solid $border-color;
|
border-top: 1px solid $border-color;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue