update
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
<?php
|
||||
/**
|
||||
* @var $args
|
||||
*/
|
||||
|
||||
use GRIM_SG\Dashboard;
|
||||
use GRIM_SG\PTSettings;
|
||||
|
||||
$settings = $args['settings'] ?? new stdClass();
|
||||
?>
|
||||
<div class="grim-section">
|
||||
<h3 class="grim-section-title" data-search-id="additional_urls"><?php esc_html_e( 'Additional URLs', 'xml-sitemap-generator-for-google' ); ?></h3>
|
||||
<div class="inside">
|
||||
<p class="grim-section-desc grim-mb-20 line-height-2">
|
||||
<?php esc_html_e( 'External URLs which should be included in your Sitemap:', 'xml-sitemap-generator-for-google' ); ?>
|
||||
<br>
|
||||
<strong><?php esc_html_e( 'URL to External Page:', 'xml-sitemap-generator-for-google' ); ?></strong>
|
||||
<?php esc_html_e( 'Enter the URL to the External Page. For example: https://example.com/blog or www.example.com/account.', 'xml-sitemap-generator-for-google' ); ?>
|
||||
<br>
|
||||
<strong><?php esc_html_e( 'Last Modified:', 'xml-sitemap-generator-for-google' ); ?></strong>
|
||||
<i><?php esc_html_e( '(Optional)', 'xml-sitemap-generator-for-google' ); ?></i>
|
||||
<?php esc_html_e( 'You can select the Last Modified datetime for the URL or leave it empty (default) to always show the Current Datetime on Sitemap.', 'xml-sitemap-generator-for-google' ); ?>
|
||||
</p>
|
||||
<table class="grim-table grim-mb-20 wp-list-table widefat striped additional_urls grim-additional-urls" cellpadding="3" cellspacing="3">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col"><?php esc_html_e( 'URL to External Page', 'xml-sitemap-generator-for-google' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Priority', 'xml-sitemap-generator-for-google' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Update Frequency', 'xml-sitemap-generator-for-google' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Last Modified', 'xml-sitemap-generator-for-google' ); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="additional_urls">
|
||||
<?php if ( count( $settings->additional_pages ) === 0 ) { ?>
|
||||
<tr class="no_urls">
|
||||
<td colspan="5" align="center"><?php esc_html_e( 'No URLs added yet!', 'xml-sitemap-generator-for-google' ); ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
} else {
|
||||
foreach ( $settings->additional_pages as $additional_page ) {
|
||||
?>
|
||||
<tr>
|
||||
<td><input type="text" name="additional_urls[]" class="grim-input" value="<?php echo esc_attr( $additional_page['url'] ); ?>"></td>
|
||||
<td><?php Dashboard::render_priority_field( 'additional_priorities[]', $additional_page['priority'] ); ?></td>
|
||||
<td><?php Dashboard::render_frequency_field( 'additional_frequencies[]', $additional_page['frequency'] ); ?></td>
|
||||
<td><input type="datetime-local" name="additional_lastmods[]" class="grim-input" value="<?php echo esc_attr( $additional_page['lastmod'] ?? '' ); ?>"></td>
|
||||
<td><a href="#" class="remove_url"><i class="grim-icon-trash"></i></a></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="general-settings-actions">
|
||||
<a href="#" id="add_new_url" class="grim-button white">
|
||||
<span>
|
||||
<i class="grim-icon-plus"></i>
|
||||
<?php esc_html_e( 'Add New URL', 'xml-sitemap-generator-for-google' ); ?>
|
||||
</span>
|
||||
</a>
|
||||
<a href="#" id="add_bulk_urls" class="grim-button white">
|
||||
<span>
|
||||
<i class="grim-icon-plus"></i>
|
||||
<?php esc_html_e( 'Add Bulk URLs', 'xml-sitemap-generator-for-google' ); ?>
|
||||
</span>
|
||||
</a>
|
||||
<a href="#" class="grim-button grim-mt-10 secondary grim-additional-urls-toggle">
|
||||
<span>Show More</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="add-bulk-urls-section hidden">
|
||||
<label for="bulk_urls"><?php esc_html_e( 'Enter URLs separated by line:', 'xml-sitemap-generator-for-google' ); ?></label>
|
||||
<textarea id="bulk_urls" name="bulk_urls" rows="5" cols="70"></textarea>
|
||||
<div class="general-settings-actions">
|
||||
<a href="#" id="cancel_add_bulk_urls" class="grim-button white">
|
||||
<span><?php esc_html_e( 'Cancel', 'xml-sitemap-generator-for-google' ); ?></span>
|
||||
</a>
|
||||
<a href="#" id="run_add_bulk_urls" class="grim-button secondary">
|
||||
<span><?php esc_html_e( 'Add', 'xml-sitemap-generator-for-google' ); ?></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hidden-area">
|
||||
<div id="additional_priorities_selector">
|
||||
<?php Dashboard::render_priority_field( 'additional_priorities[]', 3 ); ?>
|
||||
</div>
|
||||
<div id="additional_frequencies_selector">
|
||||
<?php Dashboard::render_frequency_field( 'additional_frequencies[]', PTSettings::$WEEKLY ); ?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
/**
|
||||
* @var $args
|
||||
*/
|
||||
|
||||
use GRIM_SG\Dashboard;
|
||||
use GRIM_SG\PTSettings;
|
||||
|
||||
$settings = $args['settings'] ?? new stdClass();
|
||||
?>
|
||||
<div class="grim-section">
|
||||
<h3 class="grim-section-title sitemap-index-depended" data-search-id="custom_sitemaps"><?php esc_html_e( 'Custom Sitemaps', 'xml-sitemap-generator-for-google' ); ?></h3>
|
||||
<div class="inside">
|
||||
<p class="grim-section-desc grim-mb-20 sitemap-index-depended line-height-2">
|
||||
<?php esc_html_e( 'Here you can add Custom XML Sitemaps URLs (ex: Static Sitemaps, XML Sitmaps created by other services, etc.) to your ', 'xml-sitemap-generator-for-google' ); ?>
|
||||
<b><?php esc_html_e( 'Sitemap Index', 'xml-sitemap-generator-for-google' ); ?></b>.
|
||||
<br>
|
||||
<strong><?php esc_html_e( 'Custom XML Sitemap URL:', 'xml-sitemap-generator-for-google' ); ?></strong>
|
||||
<?php esc_html_e( 'Enter XML Sitemap URL to your Sitemap Index. For example: https://example.com/static-sitemap.xml', 'xml-sitemap-generator-for-google' ); ?>
|
||||
<br>
|
||||
<strong><?php esc_html_e( 'Last Modified:', 'xml-sitemap-generator-for-google' ); ?></strong>
|
||||
<i><?php esc_html_e( '(Optional)', 'xml-sitemap-generator-for-google' ); ?></i>
|
||||
<?php esc_html_e( 'You can select the Last Modified datetime for the Custom Sitemap or leave it empty (default) to always show the Current Datetime on Sitemap.', 'xml-sitemap-generator-for-google' ); ?>
|
||||
</p>
|
||||
<table class="grim-table grim-mb-20 wp-list-table widefat striped additional_urls sitemap-index-depended" cellpadding="3" cellspacing="3">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col"><?php esc_html_e( 'Custom XML Sitemap URL', 'xml-sitemap-generator-for-google' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Last Modified', 'xml-sitemap-generator-for-google' ); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="custom_sitemaps">
|
||||
<?php if ( count( $settings->custom_sitemaps ) === 0 ) { ?>
|
||||
<tr class="no_urls">
|
||||
<td colspan="5" align="center"><?php esc_html_e( 'No Custom Sitemaps added!', 'xml-sitemap-generator-for-google' ); ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
} else {
|
||||
foreach ( $settings->custom_sitemaps as $custom_sitemap ) {
|
||||
?>
|
||||
<tr>
|
||||
<td><input class="grim-input" type="text" name="custom_sitemap_urls[]" value="<?php echo esc_attr( $custom_sitemap['url'] ); ?>"></td>
|
||||
<td><input class="grim-input" type="datetime-local" name="custom_sitemap_lastmods[]" value="<?php echo esc_attr( $custom_sitemap['lastmod'] ?? '' ); ?>"></td>
|
||||
<td><a href="#" class="remove_url"><i class="grim-icon-trash"></i></a></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="general-settings-actions sitemap-index-depended">
|
||||
<a href="#" id="add_sitemap_url" class="grim-button white">
|
||||
<span>
|
||||
<i class="grim-icon-plus"></i>
|
||||
<?php esc_html_e( 'Add Sitemap URL', 'xml-sitemap-generator-for-google' ); ?>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,94 @@
|
||||
<?php
|
||||
/**
|
||||
* @var $args
|
||||
*/
|
||||
|
||||
use GRIM_SG\Dashboard;
|
||||
|
||||
$settings = $args['settings'] ?? new stdClass();
|
||||
?>
|
||||
<div class="grim-section <?php echo esc_attr( sgg_pro_class() ); ?>">
|
||||
<?php sgg_show_pro_badge(); ?>
|
||||
<div class="grim-section-flex">
|
||||
<h3 class="grim-section-title" data-search-id="general_exclude_posts"><?php esc_html_e( 'Exclude', 'xml-sitemap-generator-for-google' ); ?></h3>
|
||||
</div>
|
||||
<div class="inside">
|
||||
<p class="grim-section-desc grim-mb-20"><?php esc_html_e( 'Please search and choose here Pages, Posts, Custom Posts, Categories and Tags that should be excluded from Sitemap:', 'xml-sitemap-generator-for-google' ); ?></p>
|
||||
|
||||
<div class="grim-exclude-tab-nav">
|
||||
<ul class="grim-exclude-tabs">
|
||||
<li class="grim-exclude-tab grim-exclude-tab--active" data-tab="pages">
|
||||
<?php esc_html_e( 'Pages/Posts', 'xml-sitemap-generator-for-google' ); ?>
|
||||
<span class="grim-term-count">0</span>
|
||||
</li>
|
||||
<li class="grim-exclude-tab" data-tab="categories">
|
||||
<?php esc_html_e( 'Categories and Tags', 'xml-sitemap-generator-for-google' ); ?>
|
||||
<span class="grim-term-count">0</span>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="grim-exclude-tab-content">
|
||||
<div id="pages" class="grim-exclude-tab-panel grim-exclude-tab-panel--active">
|
||||
<?php
|
||||
Dashboard::render(
|
||||
'fields/autocomplete.php',
|
||||
array(
|
||||
'label' => esc_html__( 'Exclude Pages/Posts:', 'xml-sitemap-generator-for-google' ),
|
||||
'name' => 'exclude_posts',
|
||||
'value' => $settings->exclude_posts ?? '',
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
<div id="categories" class="grim-exclude-tab-panel">
|
||||
<?php
|
||||
Dashboard::render(
|
||||
'fields/autocomplete.php',
|
||||
array(
|
||||
'type' => 'taxonomy',
|
||||
'label' => esc_html__( 'Exclude Categories and Tags:', 'xml-sitemap-generator-for-google' ),
|
||||
'name' => 'exclude_terms',
|
||||
'value' => $settings->exclude_terms ?? '',
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
sgg_show_pro_overlay();
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grim-section grim-include <?php echo esc_attr( sgg_pro_class() ); ?>">
|
||||
<?php sgg_show_pro_badge(); ?>
|
||||
<div class="grim-section-flex">
|
||||
<h3 class="grim-section-title" data-search-id="general_include_only_terms"><?php esc_html_e( 'Include only selected Terms', 'xml-sitemap-generator-for-google' ); ?></h3>
|
||||
<span class="grim-term-count">0</span>
|
||||
</div>
|
||||
<div class="inside">
|
||||
<p class="grim-section-desc grim-mb-20"><?php esc_html_e( 'Include only selected Categories, Tags and exclude all others:', 'xml-sitemap-generator-for-google' ); ?></p>
|
||||
|
||||
<div class="grim-exclude-tab-nav">
|
||||
<div class="grim-exclude-tab-content">
|
||||
<div id="others" class="grim-exclude-tab-panel grim-exclude-tab-panel--active">
|
||||
<?php
|
||||
Dashboard::render(
|
||||
'fields/autocomplete.php',
|
||||
array(
|
||||
'type' => 'taxonomy',
|
||||
'label' => esc_html__( 'Include only selected Categories, Tags and exclude all others:', 'xml-sitemap-generator-for-google' ),
|
||||
'name' => 'include_only_terms',
|
||||
'value' => $settings->include_only_terms ?? '',
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
sgg_show_pro_overlay();
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
/**
|
||||
* @var $args
|
||||
*/
|
||||
|
||||
use GRIM_SG\Dashboard;
|
||||
|
||||
$settings = $args['settings'] ?? new stdClass();
|
||||
?>
|
||||
<div class="grim-section general-settings">
|
||||
<h3 class="grim-section-title"><?php esc_html_e( 'General Settings', 'xml-sitemap-generator-for-google' ); ?></h3>
|
||||
<div class="inside">
|
||||
<p class="grim-section-desc grim-mb-20"><?php esc_html_e( 'Basic Settings for your Sitemaps. Enabling all below options is recommended.', 'xml-sitemap-generator-for-google' ); ?></p>
|
||||
<ul>
|
||||
<li class="grim-mb-20">
|
||||
<?php
|
||||
Dashboard::render(
|
||||
'fields/checkbox.php',
|
||||
array(
|
||||
'name' => 'sitemap_to_robots',
|
||||
'value' => $settings->sitemap_to_robots,
|
||||
'label' => esc_html__( 'Add Sitemap Output URLs to site "robots.txt" file', 'xml-sitemap-generator-for-google' ),
|
||||
'class' => 'grim-section-label',
|
||||
|
||||
)
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
Dashboard::render(
|
||||
'fields/checkbox.php',
|
||||
array(
|
||||
'name' => 'enable_indexnow',
|
||||
'value' => $settings->enable_indexnow,
|
||||
'label' => esc_html__( 'Enable IndexNow Protocol (Microsoft Bing, Seznam.cz, Naver, Yandex)', 'xml-sitemap-generator-for-google' ),
|
||||
'class' => 'grim-section-label has-dependency',
|
||||
'data' => array( 'target' => 'indexnow' ),
|
||||
)
|
||||
);
|
||||
?>
|
||||
<div class="grim-ml-45 general-settings-index indexnow indexnow-api-key">
|
||||
<div class="grim-section-desc grim-mb-15 indexnow"><?php esc_html_e( 'IndexNow Protocol informs search engines like Microsoft Bing, Seznam.cz, Naver, and Yandex about all updates of your website, including changes when saving Posts.', 'xml-sitemap-generator-for-google' ); ?></div>
|
||||
<?php
|
||||
$indexnow = ( new \GRIM_SG\IndexNow() );
|
||||
?>
|
||||
<span class="general-settings-index-label indexnow"><?php esc_html_e( 'INDEXNOW API KEY:', 'xml-sitemap-generator-for-google' ); ?></span>
|
||||
<div class="general-settings-index-info grim-mb-15">
|
||||
<span class="general-settings-index-key" id="grim-api-key"><?php echo esc_html( $indexnow->get_api_key() ); ?></span>
|
||||
<span class="grim-btn-copied" data-target="grim-api-key">
|
||||
<i class="grim-icon-copy"></i>
|
||||
<span class="grim-tooltip"><?php esc_html_e( 'Copied!', 'xml-sitemap-generator-for-google' ); ?></span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="general-settings-actions">
|
||||
<a href="<?php echo esc_url( $indexnow->get_api_key_location() ); ?>" target="_blank" class="grim-button white button-small indexnow button-icon-left">
|
||||
<span>
|
||||
<i class="grim-icon-check"></i>
|
||||
<?php esc_html_e( 'Check API Key', 'xml-sitemap-generator-for-google' ); ?>
|
||||
</span>
|
||||
</a>
|
||||
<input type="hidden" name="change_indexnow_key" value="">
|
||||
<button type="submit" id="change-indexnow-key" class="grim-button white button-small indexnow">
|
||||
<span>
|
||||
<i class="grim-icon-edit"></i>
|
||||
<?php esc_html_e( 'Change API Key', 'xml-sitemap-generator-for-google' ); ?>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
/**
|
||||
* @var $args
|
||||
*/
|
||||
|
||||
use GRIM_SG\Dashboard;
|
||||
|
||||
$settings = $args['settings'] ?? new stdClass();
|
||||
?>
|
||||
<div class="grim-section grim-preview-section <?php echo esc_attr( sgg_pro_class() ); ?>">
|
||||
<?php sgg_show_pro_badge(); ?>
|
||||
<p class="grim-toggle-section">
|
||||
<strong>
|
||||
<?php
|
||||
Dashboard::render(
|
||||
'fields/checkbox.php',
|
||||
array(
|
||||
'name' => 'enable_html_sitemap',
|
||||
'value' => $settings->enable_html_sitemap ?? false,
|
||||
'label' => esc_html__( 'HTML Sitemap', 'xml-sitemap-generator-for-google' ),
|
||||
'class' => 'has-dependency',
|
||||
'data' => array( 'target' => 'html-sitemap-depended' ),
|
||||
)
|
||||
);
|
||||
?>
|
||||
</strong>
|
||||
</p>
|
||||
<div class="inside pro-wrapper <?php echo esc_attr( sgg_pro_class() ); ?>">
|
||||
<p class="grim-section-desc"><?php esc_html_e( 'Here you can enable HTML Sitemap, customize Output URL and preview.', 'xml-sitemap-generator-for-google' ); ?></p>
|
||||
<div class="grim-mt-20">
|
||||
<?php
|
||||
Dashboard::render(
|
||||
'partials/preview-urls.php',
|
||||
array(
|
||||
'languages_label' => esc_html__( 'HTML Sitemaps for other languages:', 'xml-sitemap-generator-for-google' ),
|
||||
'sitemap_url' => $settings->html_sitemap_url,
|
||||
'sitemap_type' => 'sitemap_html',
|
||||
'class' => 'html-sitemap-depended',
|
||||
'input_name' => 'html_sitemap_url',
|
||||
'input_value' => $settings->html_sitemap_url,
|
||||
'input_label' => esc_html__( 'HTML Sitemap URL:', 'xml-sitemap-generator-for-google' ),
|
||||
'input_class' => 'html-sitemap-depended',
|
||||
'notice_show' => true,
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
<br>
|
||||
<p class="grim-section-desc line-height-2">
|
||||
<?php esc_html_e( 'HTML Sitemap can be displayed using Page Builder Widget for Elementor, Gutenberg, WPBakery or Shortcode:', 'xml-sitemap-generator-for-google' ); ?>
|
||||
<br>
|
||||
<strong id="grim-shortcode">[html-sitemap post-types="page,post,.." show-featured-image="true" show-date="true" date-format="F j, Y"]</strong>
|
||||
<span class="grim-btn-copied" data-target="grim-shortcode">
|
||||
<i class="grim-icon-copy"></i>
|
||||
<span class="grim-tooltip"><?php esc_html_e( 'Copied!', 'xml-sitemap-generator-for-google' ); ?></span>
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
<?php sgg_show_pro_overlay(); ?>
|
||||
</div>
|
||||
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
/**
|
||||
* @var $args
|
||||
*/
|
||||
|
||||
use GRIM_SG\Dashboard;
|
||||
|
||||
$settings = $args['settings'] ?? new stdClass();
|
||||
?>
|
||||
<div class="grim-section grim-post-priority <?php echo esc_attr( sgg_pro_class() ); ?>">
|
||||
<?php sgg_show_pro_badge(); ?>
|
||||
<div class="grim-section-flex">
|
||||
<h3 class="grim-section-title" data-search-id="posts_priority"><?php esc_html_e( 'Posts Priority', 'xml-sitemap-generator-for-google' ); ?></h3>
|
||||
</div>
|
||||
|
||||
<div class="inside">
|
||||
<p class="grim-section-desc grim-mb-20"><?php esc_html_e( 'Please choose a priority for calculating each of posts:', 'xml-sitemap-generator-for-google' ); ?></p>
|
||||
<ul class="grim-post-priority-box">
|
||||
<li>
|
||||
<?php
|
||||
Dashboard::render(
|
||||
'fields/radio.php',
|
||||
array(
|
||||
'label' => esc_html__( 'Do not use Priority Calculation', 'xml-sitemap-generator-for-google' ),
|
||||
'description' => esc_html__( 'Posts will have the same priority which is defined in "Sitemap Options"', 'xml-sitemap-generator-for-google' ),
|
||||
'name' => 'posts_priority',
|
||||
'id' => 'posts_priority_1',
|
||||
'value' => '',
|
||||
'current_value' => $settings->posts_priority ?? '',
|
||||
)
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
Dashboard::render(
|
||||
'fields/radio.php',
|
||||
array(
|
||||
'label' => esc_html__( 'Comments Count', 'xml-sitemap-generator-for-google' ),
|
||||
'description' => esc_html__( 'Number of Post Comments will be used for Priority Calculation', 'xml-sitemap-generator-for-google' ),
|
||||
'name' => 'posts_priority',
|
||||
'id' => 'posts_priority_2',
|
||||
'value' => 'SGG_PRO/Classes/Priority_Count',
|
||||
'current_value' => $settings->posts_priority ?? '',
|
||||
)
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
Dashboard::render(
|
||||
'fields/radio.php',
|
||||
array(
|
||||
'label' => esc_html__( 'Comments Average', 'xml-sitemap-generator-for-google' ),
|
||||
'description' => esc_html__( 'Average Comments Count will be used for Priority Calculation', 'xml-sitemap-generator-for-google' ),
|
||||
'name' => 'posts_priority',
|
||||
'id' => 'posts_priority_3',
|
||||
'value' => 'SGG_PRO/Classes/Priority_Average',
|
||||
'current_value' => $settings->posts_priority ?? '',
|
||||
)
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<?php sgg_show_pro_overlay(); ?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
/**
|
||||
* @var $args
|
||||
*/
|
||||
|
||||
use GRIM_SG\Dashboard;
|
||||
|
||||
$settings = $args['settings'] ?? new stdClass();
|
||||
?>
|
||||
<div class="grim-section">
|
||||
<h3 class="grim-section-title" data-search-id="sitemap_options"><?php esc_html_e( 'Sitemap Options', 'xml-sitemap-generator-for-google' ); ?></h3>
|
||||
<div class="inside">
|
||||
<p class="grim-section-desc grim-mb-20"><?php esc_html_e( 'This Options will be used for generating your Sitemap.', 'xml-sitemap-generator-for-google' ); ?></p>
|
||||
<table class="grim-table wp-list-table widefat fixed striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col"><?php esc_html_e( 'Content', 'xml-sitemap-generator-for-google' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Include', 'xml-sitemap-generator-for-google' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Priority', 'xml-sitemap-generator-for-google' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Update Frequency', 'xml-sitemap-generator-for-google' ); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
Dashboard::render_post_row( 'Home Page', 'home', $settings->home );
|
||||
Dashboard::render_post_row( 'Pages', 'page', $settings->page );
|
||||
Dashboard::render_post_row( 'Posts', 'post', $settings->post );
|
||||
Dashboard::render_post_row( 'Recent Archive', 'archive', $settings->archive );
|
||||
Dashboard::render_post_row( 'Older Archives', 'archive_older', $settings->archive_older );
|
||||
Dashboard::render_post_row( 'Author Pages', 'authors', $settings->authors );
|
||||
Dashboard::render_post_row( 'Media Pages', 'media', $settings->media ?? new stdClass() );
|
||||
|
||||
if ( ! empty( $args['taxonomies'] ) ) {
|
||||
foreach ( $args['taxonomies'] as $taxonomy ) {
|
||||
Dashboard::render_post_row( $taxonomy->label, $taxonomy->name, $settings->taxonomies[ $taxonomy->name ] );
|
||||
}
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="grim-notice grim-mb-20 grim-mt-20">
|
||||
<i class="grim-icon-information"></i>
|
||||
<p>
|
||||
<?php
|
||||
$attachment_pages_url = 'https://make.wordpress.org/core/2023/10/16/changes-to-attachment-pages/';
|
||||
echo sprintf(
|
||||
/* translators: %s: Note about enabling attachment pages with link */
|
||||
esc_html__( 'Media Pages: %s', 'xml-sitemap-generator-for-google' ),
|
||||
'<span>' . esc_html__( 'Enable WordPress attachment pages on the frontend for this option to work - ', 'xml-sitemap-generator-for-google' )
|
||||
. ' <a href="' . esc_url( $attachment_pages_url ) . '" target="_blank" rel="noopener noreferrer">' . esc_html__( 'Learn more', 'xml-sitemap-generator-for-google' ) . '</a>.</span>'
|
||||
);
|
||||
?>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if ( ! empty( $args['cpt'] ) ) { ?>
|
||||
<div class="grim-section">
|
||||
<h3 class="grim-section-title grim-mb-20" data-search-id="general_custom_post_types"><?php esc_html_e( 'Custom Post Types', 'xml-sitemap-generator-for-google' ); ?></h3>
|
||||
<table class="grim-table wp-list-table widefat fixed striped tags">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col"><?php esc_html_e( 'Content', 'xml-sitemap-generator-for-google' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Include', 'xml-sitemap-generator-for-google' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Priority', 'xml-sitemap-generator-for-google' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Update Frequency', 'xml-sitemap-generator-for-google' ); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
foreach ( $args['cpt'] as $cpt ) {
|
||||
Dashboard::render_post_row( $cpt->label, $cpt->name, ! empty( $settings->cpt[ $cpt->name ] ) ? $settings->cpt[ $cpt->name ] : $settings->post );
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<?php } ?>
|
||||
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
/**
|
||||
* @var $args
|
||||
*/
|
||||
|
||||
use GRIM_SG\Dashboard;
|
||||
|
||||
$settings = $args['settings'] ?? new stdClass();
|
||||
?>
|
||||
<div class="grim-section grim-sitemap-structure">
|
||||
<h3 class="grim-section-title" data-search-id="sitemap_structure"><?php esc_html_e( 'Sitemap Structure', 'xml-sitemap-generator-for-google' ); ?></h3>
|
||||
|
||||
<div class="inside">
|
||||
<p class="grim-section-desc grim-mb-20">
|
||||
<?php
|
||||
printf(
|
||||
/* translators: %s Google Index Sitemap URL */
|
||||
wp_kses_post( 'You can choose either Single Sitemap structure with all links or split links into Multiple Sitemaps for Pages, Posts, Custom Posts, etc, by creating <a href="%s" target="_blank">Sitemap Index</a>.' ),
|
||||
'https://developers.google.com/search/docs/crawling-indexing/sitemaps/large-sitemaps'
|
||||
)
|
||||
?>
|
||||
</p>
|
||||
<div class="grim-sitemap-structure-view-section grim-mb-20">
|
||||
<label class="grim-sitemap-structure-view-section-item sitemap-view-label sitemap-index" for="sitemap-index">
|
||||
<input id="sitemap-index" class="has-dependency" data-target="sitemap-index-depended" type="radio" name="sitemap_view" value="sitemap-index" <?php checked( 'sitemap-index', esc_attr( $settings->sitemap_view ?? '' ) ); ?>/>
|
||||
<i class="grim-icon-sitemap-index"></i>
|
||||
<p>
|
||||
<b><?php esc_html_e( 'Sitemap Index', 'xml-sitemap-generator-for-google' ); ?></b>
|
||||
<?php esc_html_e( 'will be generated with Inner Sitemaps', 'xml-sitemap-generator-for-google' ); ?>
|
||||
</p>
|
||||
</label>
|
||||
<label class="grim-sitemap-structure-view-section-item sitemap-view-label single-sitemap" for="single-sitemap">
|
||||
<input id="single-sitemap" class="has-dependency" data-target="single-sitemap-depended" type="radio" name="sitemap_view" value="" <?php checked( '', esc_attr( $settings->sitemap_view ?? '' ) ); ?>/>
|
||||
<i class="grim-icon-single-sitemap"></i>
|
||||
<p>
|
||||
<b><?php esc_html_e( 'Single Sitemap', 'xml-sitemap-generator-for-google' ); ?></b>
|
||||
<?php esc_html_e( 'will be generated with all links', 'xml-sitemap-generator-for-google' ); ?>
|
||||
</p>
|
||||
</label>
|
||||
</div>
|
||||
<p>
|
||||
<?php
|
||||
Dashboard::render(
|
||||
'fields/input.php',
|
||||
array(
|
||||
'type' => 'number',
|
||||
'name' => 'links_per_page',
|
||||
'class' => 'grim-input sitemap-index-depended',
|
||||
'value' => $settings->links_per_page ?? 1000,
|
||||
'label' => esc_html__( 'Links per page:', 'xml-sitemap-generator-for-google' ),
|
||||
'description' => esc_html__( 'Number of links per page in Sitemap Index. Note: Setting a low limit per page may affect the speed of generating the Sitemap Index.', 'xml-sitemap-generator-for-google' ),
|
||||
)
|
||||
);
|
||||
?>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
/**
|
||||
* @var $args
|
||||
*/
|
||||
|
||||
$settings = $args['settings'] ?? new stdClass();
|
||||
$stylesheet_url = apply_filters( 'sitemap_xsl_template_path', 'sitemap-stylesheet.xsl' );
|
||||
?>
|
||||
|
||||
<div class="grim-section grim-webserver">
|
||||
<h3 class="grim-section-title" data-search-id="webserver_configuration"><?php esc_html_e( 'Webserver Configuration', 'xml-sitemap-generator-for-google' ); ?></h3>
|
||||
<div class="inside">
|
||||
<p class="grim-section-desc grim-mb-20"><?php esc_html_e( 'As you are using NGINX web server, you may need to set up the following Rewrite Rules if you encounter 404 Not Found error for your sitemap:', 'xml-sitemap-generator-for-google' ); ?></p>
|
||||
|
||||
<code>
|
||||
<p id="webserver-configuration">
|
||||
<?php if ( $settings->enable_sitemap ) { ?>
|
||||
rewrite ^/<?php echo esc_html( $settings->sitemap_url ); ?>$ /index.php?sitemap_xml=true last;
|
||||
<br>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ( sgg_pro_enabled() && $settings->enable_html_sitemap ) { ?>
|
||||
rewrite ^/<?php echo esc_html( $settings->html_sitemap_url ); ?>$ /index.php?sitemap_html=true last;
|
||||
<br>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ( $settings->enable_google_news ) { ?>
|
||||
rewrite ^/<?php echo esc_html( $settings->google_news_url ); ?>$ /index.php?google_news=true last;
|
||||
<br>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ( $settings->enable_image_sitemap ) { ?>
|
||||
rewrite ^/<?php echo esc_html( $settings->image_sitemap_url ); ?>$ /index.php?image_sitemap=true last;
|
||||
<br>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ( $settings->enable_video_sitemap ) { ?>
|
||||
rewrite ^/<?php echo esc_html( $settings->video_sitemap_url ); ?>$ /index.php?video_sitemap=true last;
|
||||
<br>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ( sgg_is_multilingual() ) { ?>
|
||||
rewrite ^/multilingual-sitemap.xml$ /index.php?multilingual_sitemap=true last;
|
||||
<br>
|
||||
<?php } ?>
|
||||
|
||||
rewrite ^/<?php echo esc_html( $stylesheet_url ); ?>$ /index.php?sitemap_xsl=true&$args last;
|
||||
<br>
|
||||
|
||||
rewrite ^/(.*)-sitemap([0-9]*)\.(xml|html)$ /index.php?sitemap_$3=true&inner_sitemap=$1&page=$2 last;
|
||||
<br>
|
||||
</p>
|
||||
<div class="grim-code-copied">
|
||||
<span class="grim-btn-copied" data-target="webserver-configuration">
|
||||
<i class="grim-icon-copy"></i>
|
||||
<span class="grim-tooltip"><?php esc_html_e( 'Copied!', 'xml-sitemap-generator-for-google' ); ?></span>
|
||||
</span>
|
||||
</div>
|
||||
</code>
|
||||
|
||||
<p class="grim-section-desc"><?php esc_html_e( 'Please note that you may need to adjust the rules based on your server configuration. Rules are generated dynamically according to your Settings.', 'xml-sitemap-generator-for-google' ); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
/**
|
||||
* @var $args
|
||||
*/
|
||||
|
||||
use GRIM_SG\Dashboard;
|
||||
|
||||
$settings = $args['settings'] ?? new stdClass();
|
||||
?>
|
||||
<div class="grim-section grim-preview-section">
|
||||
<p class="grim-toggle-section">
|
||||
<strong>
|
||||
<?php
|
||||
Dashboard::render(
|
||||
'fields/checkbox.php',
|
||||
array(
|
||||
'name' => 'enable_sitemap',
|
||||
'value' => $settings->enable_sitemap ?? true,
|
||||
'label' => esc_html__( 'XML Sitemap', 'xml-sitemap-generator-for-google' ),
|
||||
'class' => 'has-dependency',
|
||||
'data' => array( 'target' => 'xml-sitemap-depended' ),
|
||||
)
|
||||
);
|
||||
?>
|
||||
</strong>
|
||||
</p>
|
||||
<div class="inside">
|
||||
<p class="grim-section-desc"><?php esc_html_e( 'Here you can enable XML Sitemap and customize Output URL.', 'xml-sitemap-generator-for-google' ); ?></p>
|
||||
|
||||
<div class="grim-mt-20">
|
||||
<?php
|
||||
Dashboard::render(
|
||||
'partials/preview-urls.php',
|
||||
array(
|
||||
'languages_label' => esc_html__( 'Sitemaps for other languages:', 'xml-sitemap-generator-for-google' ),
|
||||
'sitemap_url' => $settings->sitemap_url,
|
||||
'sitemap_type' => 'sitemap_xml',
|
||||
'class' => 'xml-sitemap-depended',
|
||||
'input_name' => 'sitemap_url',
|
||||
'input_value' => $settings->sitemap_url,
|
||||
'input_label' => esc_html__( 'XML Sitemap URL:', 'xml-sitemap-generator-for-google' ),
|
||||
'input_class' => 'xml-sitemap-depended',
|
||||
'notice_show' => true,
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user