155 lines
5.3 KiB
PHP
155 lines
5.3 KiB
PHP
<?php
|
|
/**
|
|
* Lite-specific admin notices.
|
|
*/
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
|
|
add_action( 'admin_init', 'wpcode_maybe_add_library_connect_notice' );
|
|
add_action( 'wpcode_admin_page', 'wpcode_maybe_add_lite_top_bar_notice', 4 );
|
|
add_action( 'wpcode_admin_page_content_wpcode-headers-footers', 'wpcode_headers_footers_bottom_notice', 250 );
|
|
|
|
/**
|
|
* Show a prompt to connect to the WPCode Library to get access to more snippets.
|
|
*
|
|
* @return void
|
|
*/
|
|
function wpcode_maybe_add_library_connect_notice() {
|
|
if ( wpcode()->library_auth->has_auth() || ! isset( $_GET['page'] ) || 0 !== strpos( $_GET['page'], 'wpcode' ) ) {
|
|
return;
|
|
}
|
|
// Don't show if in headers & footers mode only.
|
|
if ( wpcode()->settings->get_option( 'headers_footers_mode' ) ) {
|
|
return;
|
|
}
|
|
|
|
$settings_url = add_query_arg(
|
|
array(
|
|
'page' => 'wpcode-settings',
|
|
),
|
|
admin_url( 'admin.php' )
|
|
);
|
|
|
|
$snippets_count = wpcode()->library->get_snippets_count();
|
|
// Translators: more here is used in the sense of "get access to more snippets" and gets replaced with the number of snippets if the library items are loaded correctly.
|
|
$more = $snippets_count > 0 ? $snippets_count : __( 'more', 'insert-headers-and-footers' );
|
|
|
|
WPCode_Notice::info(
|
|
sprintf(
|
|
// Translators: %1$s and %2$s add a link to the settings page. %3$s and %4$s make the text bold. %6$s is replaced with the number of snippets and %5$s adds a "new" icon.
|
|
__( '%5$s%1$sConnect to the WPCode Library%2$s to get access to %3$s%6$s FREE snippets%4$s!', 'insert-headers-and-footers' ),
|
|
'<a href="' . $settings_url . '" class="wpcode-start-auth">',
|
|
'</a>',
|
|
'<strong>',
|
|
'</strong>',
|
|
'<span class="wpcode-icon-new"> NEW!</span>',
|
|
$more
|
|
),
|
|
array(
|
|
'dismiss' => WPCode_Notice::DISMISS_GLOBAL,
|
|
'slug' => 'wpcode-library-connect-lite',
|
|
)
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Add a notice to consider more features with offer.
|
|
*
|
|
* @return void
|
|
*/
|
|
function wpcode_maybe_add_lite_top_bar_notice() {
|
|
// Only add this to the WPCode pages.
|
|
if ( ! isset( $_GET['page'] ) || 0 !== strpos( $_GET['page'], 'wpcode' ) ) {
|
|
return;
|
|
}
|
|
// Don't show in H&F mode.
|
|
if ( wpcode()->settings->get_option( 'headers_footers_mode' ) ) {
|
|
return;
|
|
}
|
|
|
|
$screen = get_current_screen();
|
|
if ( isset( $screen->id ) && false !== strpos( $screen->id, 'code-snippets_page_wpcode-' ) ) {
|
|
$screen = str_replace( 'code-snippets_page_wpcode-', '', $screen->id );
|
|
} else {
|
|
$screen = 'snippets-list';
|
|
}
|
|
|
|
$upgrade_url = wpcode_utm_url(
|
|
'https://wpcode.com/lite/',
|
|
'top-notice',
|
|
$screen
|
|
);
|
|
|
|
WPCode_Notice::top(
|
|
sprintf(
|
|
// Translators: %1$s and %2$s add a link to the upgrade page. %3$s and %4$s make the text bold.
|
|
__( '%3$sYou\'re using WPCode Lite%4$s. To unlock more features consider %1$supgrading to Pro%2$s.', 'insert-headers-and-footers' ),
|
|
'<a href="' . $upgrade_url . '" target="_blank" rel="noopener noreferrer">',
|
|
'</a>',
|
|
'<strong>',
|
|
'</strong>'
|
|
),
|
|
array(
|
|
'dismiss' => WPCode_Notice::DISMISS_USER,
|
|
'slug' => 'consider-upgrading',
|
|
)
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Show a notice with more features at the bottom of the Headers & Footers page.
|
|
*
|
|
* @return void
|
|
*/
|
|
function wpcode_headers_footers_bottom_notice() {
|
|
// Don't show if in headers & footers mode only.
|
|
if ( wpcode()->settings->get_option( 'headers_footers_mode' ) ) {
|
|
return;
|
|
}
|
|
// Don't show if other notices were already displayed on the page.
|
|
if ( ! empty( wpcode()->notice->notices ) ) {
|
|
return;
|
|
}
|
|
|
|
$html = '<h3>' . esc_html__( 'Get WPCode Pro and Unlock all the Powerful Features', 'insert-headers-and-footers' ) . '</h3>';
|
|
$html .= '<div class="wpcode-features-list">';
|
|
$html .= '<ul>';
|
|
$html .= '<li>' . esc_html__( 'Save & Reuse snippets in your private Cloud Library', 'insert-headers-and-footers' ) . '</li>';
|
|
$html .= '<li>' . esc_html__( 'Add page-specific scripts when editing a post/page.', 'insert-headers-and-footers' ) . '</li>';
|
|
$html .= '<li>' . esc_html__( 'Track all snippet changes with Advanced Code Revisions', 'insert-headers-and-footers' ) . '</li>';
|
|
$html .= '</ul>';
|
|
$html .= '<ul>';
|
|
$html .= '<li>' . esc_html__( 'Load snippets by device (mobile/desktop) with 1-click.', 'insert-headers-and-footers' ) . '</li>';
|
|
$html .= '<li>' . esc_html__( 'Easily insert and reuse content with Custom Shortcodes.', 'insert-headers-and-footers' ) . '</li>';
|
|
$html .= '<li>' . esc_html__( 'Precisely track eCommerce conversions for WooCommerce and EDD.', 'insert-headers-and-footers' ) . '</li>';
|
|
$html .= '</ul>';
|
|
$html .= '</div>';
|
|
$html .= sprintf(
|
|
'<p><a href="%1$s" target="_blank" rel="noopener noreferrer">%2$s</a></p>',
|
|
wpcode_utm_url( 'https://wpcode.com/lite/', 'headers-footers', 'notice', 'get-wpcode-pro' ),
|
|
esc_html__( 'Get WPCode Pro Today and Unlock all the Powerful Features »', 'insert-headers-and-footers' )
|
|
);
|
|
$html .= '<p>';
|
|
$html .= sprintf(
|
|
// Translators: Placeholders make the text bold.
|
|
esc_html__( '%1$sBonus:%2$s WPCode Lite users get %3$s$50 off regular price%4$s, automatically applied at checkout', 'insert-headers-and-footers' ),
|
|
'<strong>',
|
|
'</strong>',
|
|
'<strong style="color:#59A56D;">',
|
|
'</strong>'
|
|
);
|
|
$html .= '</p>';
|
|
|
|
// Add our custom notice for this page.
|
|
WPCode_Notice::info(
|
|
$html,
|
|
array(
|
|
'slug' => 'ihaf-snippets',
|
|
'dismiss' => WPCode_Notice::DISMISS_USER,
|
|
)
|
|
);
|
|
// Display notice we just added so that scripts are loaded.
|
|
wpcode()->notice->display();
|
|
}
|