Initial commit: Atomaste website
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
/**
|
||||
* This is the output for the columns on the page/post editor.
|
||||
*
|
||||
* @since 4.0.0
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
|
||||
?>
|
||||
|
||||
<div id="<?php echo esc_attr( $columnName ); ?>-<?php echo esc_attr( $postId ); ?>">
|
||||
<?php require AIOSEO_DIR . '/app/Common/Views/parts/loader.php'; ?>
|
||||
</div>
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
/**
|
||||
* This is the output for the columns on the taxonomy screen.
|
||||
*
|
||||
* @since 4.0.0
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
|
||||
?>
|
||||
|
||||
<div id="<?php echo esc_attr( $columnName ); ?>-<?php echo esc_attr( $termId ); ?>">
|
||||
<?php require AIOSEO_DIR . '/app/Common/Views/parts/loader.php'; ?>
|
||||
</div>
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* This is the output for Microsoft Clarity on the page.
|
||||
*
|
||||
* @since 4.1.9
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
$projectId = aioseo()->options->webmasterTools->microsoftClarityProjectId;
|
||||
|
||||
if ( empty( $projectId ) || aioseo()->helpers->isAmpPage() ) {
|
||||
return;
|
||||
}
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
(function(c,l,a,r,i,t,y){
|
||||
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};t=l.createElement(r);t.async=1;
|
||||
t.src="https://www.clarity.ms/tag/"+i+"?ref=aioseo";y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
|
||||
})(window, document, "clarity", "script", "<?php echo esc_js( $projectId ); ?>");
|
||||
</script>
|
||||
<?php
|
||||
// Leave this comment to allow for a line break after the closing script tag.
|
||||
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
/**
|
||||
* This is the output for meta on the page.
|
||||
*
|
||||
* @since 4.0.0
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
|
||||
// phpcs:disable Generic.WhiteSpace.ScopeIndent.Incorrect
|
||||
// phpcs:disable Generic.WhiteSpace.ScopeIndent.IncorrectExact
|
||||
$description = aioseo()->helpers->encodeOutputHtml( aioseo()->meta->description->getDescription() );
|
||||
$robots = aioseo()->meta->robots->meta();
|
||||
$keywords = $this->keywords->getKeywords();
|
||||
$canonical = aioseo()->helpers->canonicalUrl();
|
||||
$links = $this->links->getLinks();
|
||||
$postType = get_post_type();
|
||||
$post = aioseo()->helpers->getPost();
|
||||
?>
|
||||
<?php if ( $description ) : ?>
|
||||
<meta name="description" content="<?php echo esc_attr( $description ); ?>" />
|
||||
<?php endif; ?>
|
||||
<?php if ( $robots ) : ?>
|
||||
<meta name="robots" content="<?php echo esc_html( $robots ); ?>" />
|
||||
<?php
|
||||
endif;
|
||||
if (
|
||||
apply_filters( 'aioseo_author_meta', true ) &&
|
||||
! is_page() &&
|
||||
post_type_supports( $postType, 'author' ) &&
|
||||
! empty( $post->post_author ) &&
|
||||
! empty( get_the_author_meta( 'display_name', $post->post_author ) )
|
||||
) :
|
||||
?>
|
||||
<meta name="author" content="<?php echo esc_attr( get_the_author_meta( 'display_name', $post->post_author ) ); ?>"/>
|
||||
<?php
|
||||
endif;
|
||||
?>
|
||||
<?php // Adds the site verification meta for webmaster tools. ?>
|
||||
<?php foreach ( $this->verification->meta() as $metaName => $value ) : ?>
|
||||
<meta name="<?php echo esc_attr( $metaName ); ?>" content="<?php echo esc_attr( trim( wp_strip_all_tags( $value ) ) ); ?>" />
|
||||
<?php endforeach; ?>
|
||||
<?php if ( ! empty( $keywords ) ) : ?>
|
||||
<meta name="keywords" content="<?php echo esc_attr( $keywords ); ?>" />
|
||||
<?php endif; ?>
|
||||
<?php if ( ! empty( $canonical ) && ! aioseo()->helpers->isAmpPage( 'amp' ) ) : ?>
|
||||
<link rel="canonical" href="<?php echo esc_url( $canonical ); ?>" />
|
||||
<?php endif; ?>
|
||||
<?php if ( ! empty( $links['prev'] ) ) : ?>
|
||||
<link rel="prev" href="<?php echo esc_url( $links['prev'] ); ?>" />
|
||||
<?php endif; ?>
|
||||
<?php if ( ! empty( $links['next'] ) ) : ?>
|
||||
<link rel="next" href="<?php echo esc_url( $links['next'] ); ?>" />
|
||||
<?php endif; ?>
|
||||
<?php // Add our generator output. ?>
|
||||
<meta name="generator" content="<?php echo trim( sprintf( '%1$s (%2$s) %3$s', esc_html( AIOSEO_PLUGIN_NAME ), esc_html( AIOSEO_PLUGIN_SHORT_NAME ), aioseo()->helpers->getAioseoVersion() ) ) // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, Generic.Files.LineLength.MaxExceeded ?>" />
|
||||
<?php
|
||||
|
||||
// This adds the miscellaneous verification to the head tag inside our comments.
|
||||
// @TODO: [V4+] Maybe move this out of meta? Better idea would be to have a global wp_head where meta gets
|
||||
// attached as well as other things like this:
|
||||
$miscellaneous = aioseo()->helpers->decodeHtmlEntities( aioseo()->options->webmasterTools->miscellaneousVerification );
|
||||
$miscellaneous = trim( $miscellaneous );
|
||||
if ( ! empty( $miscellaneous ) ) {
|
||||
echo "\n\t\t$miscellaneous\n"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
/**
|
||||
* This is the output for structured data/schema on the page.
|
||||
*
|
||||
* @since 4.0.0
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
|
||||
// phpcs:disable Generic.WhiteSpace.ScopeIndent.Incorrect
|
||||
// phpcs:disable Generic.WhiteSpace.ScopeIndent.IncorrectExact
|
||||
// phpcs:disable Generic.Files.EndFileNoNewline.Found
|
||||
|
||||
$schema = aioseo()->schema->get();
|
||||
?>
|
||||
<?php if ( ! empty( $schema ) ) : ?>
|
||||
<script type="application/ld+json" class="aioseo-schema">
|
||||
<?php echo $schema . "\n"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
|
||||
</script>
|
||||
<?php
|
||||
endif;
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
/**
|
||||
* This is the output for social meta on the page.
|
||||
*
|
||||
* @since 4.0.0
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// phpcs:disable Generic.WhiteSpace.ScopeIndent
|
||||
|
||||
// Set context for meta class to social meta.
|
||||
$facebookMeta = aioseo()->social->output->getFacebookMeta();
|
||||
foreach ( $facebookMeta as $key => $meta ) :
|
||||
// Each article tag needs to be output in a separate meta tag so we cast and loop over each key.
|
||||
if ( ! is_array( $meta ) ) {
|
||||
$meta = [ $meta ];
|
||||
}
|
||||
foreach ( $meta as $m ) :
|
||||
?>
|
||||
<meta property="<?php echo esc_attr( $key ); ?>" content="<?php echo esc_attr( $m ); ?>" />
|
||||
<?php
|
||||
endforeach;
|
||||
endforeach;
|
||||
|
||||
$twitterMeta = aioseo()->social->output->getTwitterMeta();
|
||||
foreach ( $twitterMeta as $key => $meta ) :
|
||||
?>
|
||||
<meta name="<?php echo esc_attr( $key ); ?>" content="<?php echo esc_attr( $meta ); ?>" />
|
||||
<?php
|
||||
endforeach;
|
||||
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<style>
|
||||
.aioseo-loading-spinner {
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.aioseo-loading-spinner .double-bounce1,
|
||||
.aioseo-loading-spinner .double-bounce2 {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 50%;
|
||||
background-color: #fff;
|
||||
opacity: 0.6;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
||||
-webkit-animation: aioseo-sk-bounce 1.3s infinite ease-in-out;
|
||||
animation: aioseo-sk-bounce 1.3s infinite ease-in-out;
|
||||
}
|
||||
|
||||
.aioseo-loading-spinner.dark .double-bounce1,
|
||||
.aioseo-loading-spinner.dark .double-bounce2 {
|
||||
background-color: #8C8F9A;
|
||||
}
|
||||
|
||||
.aioseo-loading-spinner .double-bounce2 {
|
||||
-webkit-animation-delay: -0.65s;
|
||||
animation-delay: -0.65s;
|
||||
}
|
||||
|
||||
.aioseo-loading-spinner {}
|
||||
.aioseo-loading-spinner {}
|
||||
|
||||
@-webkit-keyframes aioseo-sk-bounce {
|
||||
0%, 100% { -webkit-transform: scale(0.0) }
|
||||
50% { -webkit-transform: scale(1.0) }
|
||||
}
|
||||
|
||||
@keyframes aioseo-sk-bounce {
|
||||
0%, 100% {
|
||||
transform: scale(0.0);
|
||||
-webkit-transform: scale(0.0);
|
||||
} 50% {
|
||||
transform: scale(1.0);
|
||||
-webkit-transform: scale(1.0);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<div style="height:50px; position:relative;">
|
||||
<div class="aioseo-loading-spinner dark" style="top:calc( 50% - 17px);left:calc( 50% - 17px);">
|
||||
<div class="double-bounce1"></div>
|
||||
<div class="double-bounce2"></div>
|
||||
</div>
|
||||
</div>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
/**
|
||||
* Htaccess rewrite rules for sites using plain permalinks.
|
||||
*
|
||||
* @since 4.2.5
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// phpcs:disable
|
||||
?>
|
||||
|
||||
|
||||
# START: All in One SEO Sitemap Rewrite Rules
|
||||
# Do not make edits to these rules!
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine On
|
||||
|
||||
RewriteRule sitemap(|[0-9]+)\.xml$ /index.php [L]
|
||||
RewriteRule (default|video)-sitemap\.xsl /index.php [L]
|
||||
</IfModule>
|
||||
# END: All in One SEO Sitemap Rewrite Rules
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
// phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
|
||||
// phpcs:disable Generic.ControlStructures.InlineControlStructure.NotAllowed
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div class="aioseo-html-sitemap">
|
||||
<div class="aioseo-html-sitemap-compact-archive">
|
||||
<?php if ( empty( $data['dateArchives'] ) ) esc_html_e( 'No date archives could be found.', 'all-in-one-seo-pack' ); ?>
|
||||
|
||||
<?php if ( ! empty( $data['lines'] ) ) : ?>
|
||||
<ul>
|
||||
<?php echo $data['lines']; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
|
||||
</ul>
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,197 @@
|
||||
<?php
|
||||
// phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="aioseo-html-sitemap">
|
||||
<p>
|
||||
<label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" class="aioseo-title">
|
||||
<?php esc_html_e( 'Title', 'all-in-one-seo-pack' ); ?>
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"
|
||||
name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>"
|
||||
value="<?php echo esc_attr( $instance['title'] ); ?>"
|
||||
class="widefat"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<label for="<?php echo esc_attr( $this->get_field_id( 'archives' ) ); ?>">
|
||||
<input
|
||||
type="checkbox"
|
||||
id="<?php echo esc_attr( $this->get_field_id( 'archives' ) ); ?>"
|
||||
name="<?php echo esc_attr( $this->get_field_name( 'archives' ) ); ?>"
|
||||
<?php
|
||||
if ( 'on' === $instance['archives'] ) {
|
||||
echo 'checked="checked"';
|
||||
}
|
||||
?>
|
||||
class="widefat"
|
||||
/>
|
||||
<?php esc_html_e( 'Compact Archives', 'all-in-one-seo-pack' ); ?>
|
||||
</label>
|
||||
</p>
|
||||
<p>
|
||||
<label for="<?php echo esc_attr( $this->get_field_id( 'show_label' ) ); ?>">
|
||||
<input
|
||||
type="checkbox"
|
||||
id="<?php echo esc_attr( $this->get_field_id( 'show_label' ) ); ?>"
|
||||
name="<?php echo esc_attr( $this->get_field_name( 'show_label' ) ); ?>"
|
||||
<?php
|
||||
if ( 'on' === $instance['show_label'] ) {
|
||||
echo 'checked="checked"';
|
||||
}
|
||||
?>
|
||||
class="widefat"
|
||||
/>
|
||||
<?php esc_html_e( 'Show Labels', 'all-in-one-seo-pack' ); ?>
|
||||
</label>
|
||||
</p>
|
||||
<p>
|
||||
<label for="<?php echo esc_attr( $this->get_field_id( 'publication_date' ) ); ?>">
|
||||
<input
|
||||
type="checkbox"
|
||||
id="<?php echo esc_attr( $this->get_field_id( 'publication_date' ) ); ?>"
|
||||
name="<?php echo esc_attr( $this->get_field_name( 'publication_date' ) ); ?>"
|
||||
<?php
|
||||
if ( 'on' === $instance['publication_date'] ) {
|
||||
echo 'checked="checked"';
|
||||
}
|
||||
?>
|
||||
class="widefat"
|
||||
/>
|
||||
<?php esc_html_e( 'Show Publication Date', 'all-in-one-seo-pack' ); ?>
|
||||
</label>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label for="<?php echo esc_attr( $this->get_field_id( 'post_types' ) ); ?>" class="aioseo-title">
|
||||
<?php esc_html_e( 'Post Types', 'all-in-one-seo-pack' ); ?>
|
||||
</label>
|
||||
|
||||
<div class="aioseo-columns">
|
||||
<?php foreach ( $postTypeObjects as $i => $postTypeObject ) : ?>
|
||||
<div>
|
||||
<label>
|
||||
<input
|
||||
type="checkbox"
|
||||
name="<?php echo esc_attr( $this->get_field_name( 'post_types' ) ); ?>[]"
|
||||
id="<?php echo esc_attr( $this->get_field_id( 'post_types' . $i ) ); ?>"
|
||||
<?php checked( in_array( $postTypeObject['name'], $instance['post_types'], true ) ); ?>
|
||||
value="<?php echo esc_html( $i ); ?>"
|
||||
/>
|
||||
<?php echo esc_html( $postTypeObject['label'] ); ?>
|
||||
</label>
|
||||
</div>
|
||||
<?php endforeach ?>
|
||||
</div>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label for="<?php echo esc_attr( $this->get_field_id( 'taxonomies' ) ); ?>" class="aioseo-title">
|
||||
<?php esc_html_e( 'Taxonomies', 'all-in-one-seo-pack' ); ?>
|
||||
</label>
|
||||
|
||||
<div class="aioseo-columns">
|
||||
<?php foreach ( $taxonomyObjects as $i => $taxonomyObject ) : ?>
|
||||
<div>
|
||||
<label>
|
||||
<input
|
||||
type="checkbox"
|
||||
name="<?php echo esc_attr( $this->get_field_name( 'taxonomies' ) ); ?>[]"
|
||||
id="<?php echo esc_attr( $this->get_field_id( 'taxonomies' . $i ) ); ?>"
|
||||
<?php checked( in_array( $taxonomyObject['name'], $instance['taxonomies'], true ) ); ?>
|
||||
value="<?php echo esc_html( $i ); ?>"
|
||||
/>
|
||||
<?php echo esc_html( $taxonomyObject['label'] ); ?>
|
||||
</label>
|
||||
</div>
|
||||
<?php endforeach ?>
|
||||
</div>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label for="<?php echo esc_attr( $this->get_field_id( 'order_by' ) ); ?>" class="aioseo-title">
|
||||
<?php esc_html_e( 'Sort Order', 'all-in-one-seo-pack' ); ?>
|
||||
</label>
|
||||
<select name="<?php echo esc_attr( $this->get_field_name( 'order_by' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'order_by' ) ); ?>" class="widefat">
|
||||
<option value="publish_date"<?php selected( 'publish_date', $instance['order_by'], true ); ?>>
|
||||
<?php esc_html_e( 'Publish Date', 'all-in-one-seo-pack' ); ?>
|
||||
</option>
|
||||
<option value="last_updated"<?php selected( 'last_updated', $instance['order_by'], true ); ?>>
|
||||
<?php esc_html_e( 'Last Updated', 'all-in-one-seo-pack' ); ?>
|
||||
</option>
|
||||
<option value="alphabetical"<?php selected( 'alphabetical', $instance['order_by'], true ); ?>>
|
||||
<?php esc_html_e( 'Alphabetical', 'all-in-one-seo-pack' ); ?>
|
||||
</option>
|
||||
<option value="id"<?php selected( 'id', $instance['order_by'], true ); ?>>
|
||||
<?php esc_html_e( 'ID', 'all-in-one-seo-pack' ); ?>
|
||||
</option>
|
||||
</select>
|
||||
</p>
|
||||
<p>
|
||||
<label for="<?php echo esc_attr( $this->get_field_id( 'order' ) ); ?>" class="aioseo-title">
|
||||
<?php esc_html_e( 'Sort Direction', 'all-in-one-seo-pack' ); ?>
|
||||
</label>
|
||||
<select name="<?php echo esc_attr( $this->get_field_name( 'order' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'order' ) ); ?>" class="widefat">
|
||||
<option value="asc"<?php echo ( 'asc' === $instance['order'] ) ? ' selected="selected"' : '' ?>><?php esc_html_e( 'Ascending', 'all-in-one-seo-pack' ); ?></option>
|
||||
<option value="desc"<?php echo ( 'desc' === $instance['order'] ) ? ' selected="selected"' : '' ?>"><?php esc_html_e( 'Descending', 'all-in-one-seo-pack' ); ?></option>
|
||||
</select>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label for="<?php echo esc_attr( $this->get_field_id( 'excluded_posts' ) ); ?>" class="aioseo-title">
|
||||
<?php esc_html_e( 'Exclude Posts / Pages', 'all-in-one-seo-pack' ); ?>
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
value="<?php echo esc_attr( $instance['excluded_posts'] ); ?>"
|
||||
name="<?php echo esc_attr( $this->get_field_name( 'excluded_posts' ) ); ?>"
|
||||
id="<?php echo esc_attr( $this->get_field_id( 'excluded_posts' ) ); ?>"
|
||||
class="widefat"
|
||||
/>
|
||||
<p class="aioseo-description"><?php esc_html_e( 'Enter a comma-separated list of post IDs.', 'all-in-one-seo-pack' ); ?></p>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label for="<?php echo esc_attr( $this->get_field_id( 'excluded_terms' ) ); ?>" class="aioseo-title">
|
||||
<?php esc_html_e( 'Exclude Terms', 'all-in-one-seo-pack' ); ?>
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
value="<?php echo esc_attr( $instance['excluded_terms'] ); ?>"
|
||||
name="<?php echo esc_attr( $this->get_field_name( 'excluded_terms' ) ); ?>"
|
||||
id="<?php echo esc_attr( $this->get_field_id( 'excluded_terms' ) ); ?>"
|
||||
class="widefat"
|
||||
/>
|
||||
<p class="aioseo-description"><?php esc_html_e( 'Enter a comma-separated list of term IDs.', 'all-in-one-seo-pack' ); ?></p>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.aioseo-html-sitemap label.aioseo-title,
|
||||
.aioseo-html-sitemap label.aioseo-title select {
|
||||
color: #141B38 !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.aioseo-html-sitemap .aioseo-description {
|
||||
margin-top: -5px;
|
||||
font-style: italic;
|
||||
font-size: 13px;
|
||||
}
|
||||
.aioseo-html-sitemap select, .aioseo-html-sitemap input[type=text] {
|
||||
margin-top: 8px;
|
||||
}
|
||||
.aioseo-html-sitemap .aioseo-columns {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.aioseo-html-sitemap .aioseo-columns div {
|
||||
flex: 0 0 50%;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
/**
|
||||
* XML template for our sitemap index pages.
|
||||
*
|
||||
* @since 4.0.0
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// phpcs:disable
|
||||
?>
|
||||
<urlset
|
||||
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
<?php if ( ! aioseo()->sitemap->helpers->excludeImages() ): ?>
|
||||
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
|
||||
<?php endif; ?>
|
||||
>
|
||||
<?php foreach ( $entries as $entry ) {
|
||||
if ( empty( $entry['loc'] ) ) {
|
||||
continue;
|
||||
}
|
||||
?>
|
||||
<url>
|
||||
<loc><?php aioseo()->sitemap->output->escapeAndEcho( $entry['loc'] ); ?></loc><?php
|
||||
if ( ! empty( $entry['lastmod'] ) ) {
|
||||
?>
|
||||
|
||||
<lastmod><?php aioseo()->sitemap->output->escapeAndEcho( $entry['lastmod'] ); ?></lastmod><?php
|
||||
}
|
||||
if ( ! empty( $entry['changefreq'] ) ) {
|
||||
?>
|
||||
|
||||
<changefreq><?php aioseo()->sitemap->output->escapeAndEcho( $entry['changefreq'] ); ?></changefreq><?php
|
||||
}
|
||||
if ( isset( $entry['priority'] ) ) {
|
||||
?>
|
||||
|
||||
<priority><?php aioseo()->sitemap->output->escapeAndEcho( $entry['priority'] ); ?></priority><?php
|
||||
}
|
||||
if ( ! empty( $entry['languages'] ) ) {
|
||||
foreach ( $entry['languages'] as $subentry ) {
|
||||
if ( empty( $subentry['language'] ) || empty( $subentry['location'] ) ) {
|
||||
continue;
|
||||
}
|
||||
?>
|
||||
|
||||
<xhtml:link rel="alternate" hreflang="<?php echo esc_attr( $subentry['language'] ); ?>" href="<?php echo esc_url( $subentry['location'] ); ?>" /><?php
|
||||
}
|
||||
}
|
||||
if ( ! aioseo()->sitemap->helpers->excludeImages() && ! empty( $entry['images'] ) ) {
|
||||
foreach ( $entry['images'] as $image ) {
|
||||
$image = (array) $image;
|
||||
?>
|
||||
|
||||
<image:image>
|
||||
<image:loc><?php aioseo()->sitemap->output->escapeAndEcho( $image['image:loc'] ); ?></image:loc>
|
||||
</image:image><?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
</url>
|
||||
<?php } ?>
|
||||
</urlset>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
/**
|
||||
* XML template for our root index page.
|
||||
*
|
||||
* @since 4.0.0
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// phpcs:disable
|
||||
?>
|
||||
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<?php foreach ( $entries as $entry ) {
|
||||
if ( empty( $entry['loc'] ) ) {
|
||||
continue;
|
||||
}
|
||||
?>
|
||||
<sitemap>
|
||||
<loc><?php aioseo()->sitemap->output->escapeAndEcho( $entry['loc'] ); ?></loc><?php
|
||||
if ( ! empty( $entry['lastmod'] ) ) {
|
||||
?>
|
||||
|
||||
<lastmod><?php aioseo()->sitemap->output->escapeAndEcho( $entry['lastmod'] ); ?></lastmod><?php
|
||||
}
|
||||
?>
|
||||
|
||||
</sitemap>
|
||||
<?php } ?>
|
||||
</sitemapindex>
|
||||
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
/**
|
||||
* XML template for the RSS Sitemap.
|
||||
*
|
||||
* @since 4.0.0
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// phpcs:disable
|
||||
?>
|
||||
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel><?php
|
||||
// Yandex doesn't support some tags so we need to check the user agent.
|
||||
if ( ! aioseo()->helpers->isYandexUserAgent() ) {
|
||||
?>
|
||||
|
||||
<title><?php aioseo()->sitemap->output->escapeAndEcho( $title, false ); ?></title>
|
||||
<link><?php aioseo()->sitemap->output->escapeAndEcho( $link ); ?></link>
|
||||
<?php if ( $description ) {
|
||||
?><description><?php aioseo()->sitemap->output->escapeAndEcho( $description ); ?></description>
|
||||
<?php }
|
||||
?><?php if ( ! empty( $entries[0]['pubDate'] ) ) {
|
||||
?><lastBuildDate><?php aioseo()->sitemap->output->escapeAndEcho( $entries[0]['pubDate'] ); ?></lastBuildDate>
|
||||
<?php }
|
||||
?><docs>https://validator.w3.org/feed/docs/rss2.html</docs>
|
||||
<atom:link href="<?php echo aioseo()->sitemap->helpers->getUrl( 'rss' ); ?>" rel="self" type="application/rss+xml" />
|
||||
<ttl><?php aioseo()->sitemap->output->escapeAndEcho( $ttl ); ?></ttl>
|
||||
|
||||
<?php }
|
||||
foreach ( $entries as $entry ) {
|
||||
if ( empty( $entry['guid'] ) ) {
|
||||
continue;
|
||||
}?>
|
||||
<item>
|
||||
<guid><?php aioseo()->sitemap->output->escapeAndEcho( $entry['guid'] ); ?></guid>
|
||||
<link><?php aioseo()->sitemap->output->escapeAndEcho( $entry['guid'] ); ?></link><?php
|
||||
if ( ! empty( $entry['title'] ) ) {
|
||||
?>
|
||||
|
||||
<title><?php aioseo()->sitemap->output->escapeAndEcho( $entry['title'], false ); ?></title><?php
|
||||
}
|
||||
if ( ! empty( $entry['pubDate'] ) ) {
|
||||
?>
|
||||
|
||||
<pubDate><?php aioseo()->sitemap->output->escapeAndEcho( $entry['pubDate'] ); ?></pubDate><?php
|
||||
}
|
||||
?>
|
||||
|
||||
</item>
|
||||
<?php } ?>
|
||||
</channel>
|
||||
</rss>
|
||||
@@ -0,0 +1,452 @@
|
||||
<?php
|
||||
/**
|
||||
* XSL stylesheet for the sitemap.
|
||||
*
|
||||
* @since 4.0.0
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// phpcs:disable
|
||||
$utmMedium = 'xml-sitemap';
|
||||
if ( '/sitemap.rss' === $sitemapPath ) {
|
||||
$utmMedium = 'rss-sitemap';
|
||||
}
|
||||
?>
|
||||
<xsl:stylesheet
|
||||
version="2.0"
|
||||
xmlns:html="http://www.w3.org/TR/html40"
|
||||
xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
>
|
||||
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:variable name="fileType">
|
||||
<xsl:choose>
|
||||
<xsl:when test="//channel">RSS</xsl:when>
|
||||
<xsl:when test="//sitemap:url">Sitemap</xsl:when>
|
||||
<xsl:otherwise>SitemapIndex</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$fileType='Sitemap' or $fileType='RSS'"><?php echo $title; ?></xsl:when>
|
||||
<xsl:otherwise><?php _e( 'Sitemap Index', 'all-in-one-seo-pack' ); ?></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<?php aioseo()->templates->getTemplate( 'sitemap/xsl/styles.php' ); ?>
|
||||
</head>
|
||||
<body>
|
||||
<xsl:variable name="amountOfURLs">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$fileType='RSS'">
|
||||
<xsl:value-of select="count(//channel/item)"></xsl:value-of>
|
||||
</xsl:when>
|
||||
<xsl:when test="$fileType='Sitemap'">
|
||||
<xsl:value-of select="count(sitemap:urlset/sitemap:url)"></xsl:value-of>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="count(sitemap:sitemapindex/sitemap:sitemap)"></xsl:value-of>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:call-template name="Header">
|
||||
<xsl:with-param name="title"><?php echo $title; ?></xsl:with-param>
|
||||
<xsl:with-param name="amountOfURLs" select="$amountOfURLs"/>
|
||||
<xsl:with-param name="fileType" select="$fileType"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<div class="content">
|
||||
<div class="container">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$amountOfURLs = 0"><xsl:call-template name="emptySitemap"/></xsl:when>
|
||||
<xsl:when test="$fileType='Sitemap'"><xsl:call-template name="sitemapTable"/></xsl:when>
|
||||
<xsl:when test="$fileType='RSS'"><xsl:call-template name="sitemapRSS"/></xsl:when>
|
||||
<xsl:otherwise><xsl:call-template name="siteindexTable"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="siteindexTable">
|
||||
<?php
|
||||
$sitemapIndex = aioseo()->sitemap->helpers->filename( 'general' );
|
||||
$sitemapIndex = $sitemapIndex ? $sitemapIndex : 'sitemap';
|
||||
aioseo()->templates->getTemplate(
|
||||
'sitemap/xsl/partials/breadcrumb.php',
|
||||
[
|
||||
'items' => [
|
||||
[ 'title' => __( 'Sitemap Index', 'all-in-one-seo-pack' ), 'url' => $sitemapUrl ],
|
||||
]
|
||||
]
|
||||
);
|
||||
?>
|
||||
<div class="table-wrapper">
|
||||
<table cellpadding="3">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="left">
|
||||
<?php _e( 'URL', 'all-in-one-seo-pack' ); ?>
|
||||
</th>
|
||||
<th><?php _e( 'URL Count', 'all-in-one-seo-pack' ); ?></th>
|
||||
<th>
|
||||
<?php
|
||||
aioseo()->templates->getTemplate(
|
||||
'sitemap/xsl/partials/sortable-column.php',
|
||||
[
|
||||
'parameters' => $sitemapParams,
|
||||
'sitemapUrl' => $sitemapUrl,
|
||||
'column' => 'date',
|
||||
'title' => __( 'Last Updated', 'all-in-one-seo-pack' )
|
||||
]
|
||||
);
|
||||
?>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:variable name="lower" select="'abcdefghijklmnopqrstuvwxyz'"/>
|
||||
<xsl:variable name="upper" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
|
||||
<xsl:for-each select="sitemap:sitemapindex/sitemap:sitemap">
|
||||
<?php
|
||||
aioseo()->templates->getTemplate(
|
||||
'sitemap/xsl/partials/xsl-sort.php',
|
||||
[
|
||||
'parameters' => $sitemapParams,
|
||||
'node' => 'sitemap:lastmod',
|
||||
]
|
||||
);
|
||||
?>
|
||||
<tr>
|
||||
<xsl:if test="position() mod 2 != 0">
|
||||
<xsl:attribute name="class">stripe</xsl:attribute>
|
||||
</xsl:if>
|
||||
<td class="left">
|
||||
<a>
|
||||
<xsl:attribute name="href">
|
||||
<xsl:value-of select="sitemap:loc" />
|
||||
</xsl:attribute>
|
||||
<xsl:value-of select="sitemap:loc"/>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<?php if ( ! empty( $xslParams['counts'] ) ) : ?>
|
||||
<div class="item-count">
|
||||
<xsl:choose>
|
||||
<?php foreach ( $xslParams['counts'] as $slug => $count ) : ?>
|
||||
<xsl:when test="contains(sitemap:loc, '<?php echo $slug; ?>')"><?php echo $count; ?></xsl:when>
|
||||
<?php endforeach; ?>
|
||||
<xsl:otherwise><?php echo $linksPerIndex; ?></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
<td class="datetime">
|
||||
<?php
|
||||
if ( ! empty( $xslParams['datetime'] ) ) {
|
||||
aioseo()->templates->getTemplate(
|
||||
'sitemap/xsl/partials/date-time.php',
|
||||
[
|
||||
'datetime' => $xslParams['datetime'],
|
||||
'node' => 'sitemap:loc'
|
||||
]
|
||||
);
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="sitemapRSS">
|
||||
<?php
|
||||
aioseo()->templates->getTemplate(
|
||||
'sitemap/xsl/partials/breadcrumb.php',
|
||||
[
|
||||
'items' => [
|
||||
[ 'title' => $title, 'url' => $sitemapUrl ],
|
||||
]
|
||||
]
|
||||
);
|
||||
?>
|
||||
<div class="table-wrapper">
|
||||
<table cellpadding="3">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="left"><?php _e( 'URL', 'all-in-one-seo-pack' ); ?></th>
|
||||
<th>
|
||||
<?php
|
||||
aioseo()->templates->getTemplate(
|
||||
'sitemap/xsl/partials/sortable-column.php',
|
||||
[
|
||||
'parameters' => $sitemapParams,
|
||||
'sitemapUrl' => $sitemapUrl,
|
||||
'column' => 'date',
|
||||
'title' => __( 'Publication Date', 'all-in-one-seo-pack' )
|
||||
]
|
||||
);
|
||||
?>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:for-each select="//channel/item">
|
||||
<?php
|
||||
if ( ! empty( $sitemapParams['sitemap-order'] ) ) {
|
||||
aioseo()->templates->getTemplate(
|
||||
'sitemap/xsl/partials/xsl-sort.php',
|
||||
[
|
||||
'parameters' => $sitemapParams,
|
||||
'node' => 'pubDate',
|
||||
]
|
||||
);
|
||||
}
|
||||
?>
|
||||
<tr>
|
||||
<xsl:if test="position() mod 2 != 0">
|
||||
<xsl:attribute name="class">stripe</xsl:attribute>
|
||||
</xsl:if>
|
||||
<td class="left">
|
||||
<a>
|
||||
<xsl:attribute name="href">
|
||||
<xsl:value-of select="link" />
|
||||
</xsl:attribute>
|
||||
<xsl:value-of select="link"/>
|
||||
</a>
|
||||
</td>
|
||||
<td class="datetime">
|
||||
<?php
|
||||
if ( ! empty( $xslParams['datetime'] ) ) {
|
||||
aioseo()->templates->getTemplate(
|
||||
'sitemap/xsl/partials/date-time.php',
|
||||
[
|
||||
'datetime' => $xslParams['datetime'],
|
||||
'node' => 'link'
|
||||
]
|
||||
);
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="sitemapTable">
|
||||
<?php
|
||||
$sitemapIndex = aioseo()->sitemap->helpers->filename( 'general' );
|
||||
$sitemapIndex = $sitemapIndex ? $sitemapIndex : 'sitemap';
|
||||
aioseo()->templates->getTemplate(
|
||||
'sitemap/xsl/partials/breadcrumb.php',
|
||||
[
|
||||
'items' => [
|
||||
[ 'title' => __( 'Sitemap Index', 'all-in-one-seo-pack' ), 'url' => home_url( "/$sitemapIndex.xml" ) ],
|
||||
[ 'title' => $title, 'url' => $sitemapUrl ],
|
||||
]
|
||||
]
|
||||
);
|
||||
?>
|
||||
<div class="table-wrapper">
|
||||
<table cellpadding="3">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="left">
|
||||
<?php _e( 'URL', 'all-in-one-seo-pack' ); ?>
|
||||
</th>
|
||||
<?php if ( ! aioseo()->sitemap->helpers->excludeImages() ) : ?>
|
||||
<th>
|
||||
<?php
|
||||
aioseo()->templates->getTemplate(
|
||||
'sitemap/xsl/partials/sortable-column.php',
|
||||
[
|
||||
'parameters' => $sitemapParams,
|
||||
'sitemapUrl' => $sitemapUrl,
|
||||
'column' => 'image',
|
||||
'title' => __( 'Images', 'all-in-one-seo-pack' )
|
||||
]
|
||||
);
|
||||
?>
|
||||
</th>
|
||||
<?php endif; ?>
|
||||
<th>
|
||||
<?php
|
||||
aioseo()->templates->getTemplate(
|
||||
'sitemap/xsl/partials/sortable-column.php',
|
||||
[
|
||||
'parameters' => $sitemapParams,
|
||||
'sitemapUrl' => $sitemapUrl,
|
||||
'column' => 'changefreq',
|
||||
'title' => __( 'Change Frequency', 'all-in-one-seo-pack' )
|
||||
]
|
||||
);
|
||||
?>
|
||||
</th>
|
||||
<th>
|
||||
<?php
|
||||
aioseo()->templates->getTemplate(
|
||||
'sitemap/xsl/partials/sortable-column.php',
|
||||
[
|
||||
'parameters' => $sitemapParams,
|
||||
'sitemapUrl' => $sitemapUrl,
|
||||
'column' => 'priority',
|
||||
'title' => __( 'Priority', 'all-in-one-seo-pack' )
|
||||
]
|
||||
);
|
||||
?>
|
||||
</th>
|
||||
<th>
|
||||
<?php
|
||||
aioseo()->templates->getTemplate(
|
||||
'sitemap/xsl/partials/sortable-column.php',
|
||||
[
|
||||
'parameters' => $sitemapParams,
|
||||
'sitemapUrl' => $sitemapUrl,
|
||||
'column' => 'date',
|
||||
'title' => __( 'Last Updated', 'all-in-one-seo-pack' )
|
||||
]
|
||||
);
|
||||
?>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:variable name="lower" select="'abcdefghijklmnopqrstuvwxyz'"/>
|
||||
<xsl:variable name="upper" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
|
||||
<xsl:for-each select="sitemap:urlset/sitemap:url">
|
||||
<?php
|
||||
if ( ! empty( $sitemapParams['sitemap-order'] ) ) {
|
||||
switch ( $sitemapParams['sitemap-order'] ) {
|
||||
case 'image':
|
||||
$node = 'count(image:image)';
|
||||
break;
|
||||
case 'date':
|
||||
$node = 'sitemap:lastmod';
|
||||
break;
|
||||
default:
|
||||
$node = 'sitemap:' . $sitemapParams['sitemap-order'];
|
||||
break;
|
||||
}
|
||||
aioseo()->templates->getTemplate(
|
||||
'sitemap/xsl/partials/xsl-sort.php',
|
||||
[
|
||||
'parameters' => $sitemapParams,
|
||||
'node' => $node,
|
||||
]
|
||||
);
|
||||
}
|
||||
?>
|
||||
<tr>
|
||||
<xsl:if test="position() mod 2 != 0">
|
||||
<xsl:attribute name="class">stripe</xsl:attribute>
|
||||
</xsl:if>
|
||||
|
||||
<td class="left">
|
||||
<xsl:variable name="itemURL">
|
||||
<xsl:value-of select="sitemap:loc"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="count(./*[@rel='alternate']) > 0">
|
||||
<xsl:for-each select="./*[@rel='alternate']">
|
||||
<xsl:if test="position() = last()">
|
||||
<a href="{current()/@href}" class="localized">
|
||||
<xsl:value-of select="@href"/>
|
||||
</a>  → <xsl:value-of select="@hreflang"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<a href="{$itemURL}">
|
||||
<xsl:value-of select="sitemap:loc"/>
|
||||
</a>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:for-each select="./*[@rel='alternate']">
|
||||
<br />
|
||||
<xsl:if test="position() != last()">
|
||||
<a href="{current()/@href}" class="localized">
|
||||
<xsl:value-of select="@href"/>
|
||||
</a>  → <xsl:value-of select="@hreflang"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</td>
|
||||
<?php if ( ! aioseo()->sitemap->helpers->excludeImages() ) : ?>
|
||||
<td>
|
||||
<div class="item-count">
|
||||
<xsl:value-of select="count(image:image)"/>
|
||||
</div>
|
||||
</td>
|
||||
<?php endif; ?>
|
||||
<td>
|
||||
<xsl:value-of select="concat(translate(substring(sitemap:changefreq, 1, 1),concat($lower, $upper),concat($upper, $lower)),substring(sitemap:changefreq, 2))"/>
|
||||
</td>
|
||||
<td>
|
||||
<xsl:if test="string(number(sitemap:priority))!='NaN'">
|
||||
<xsl:call-template name="formatPriority">
|
||||
<xsl:with-param name="priority" select="sitemap:priority"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</td>
|
||||
<td class="datetime">
|
||||
<?php
|
||||
if ( ! empty( $xslParams['datetime'] ) ) {
|
||||
aioseo()->templates->getTemplate(
|
||||
'sitemap/xsl/partials/date-time.php',
|
||||
[
|
||||
'datetime' => $xslParams['datetime'],
|
||||
'node' => 'sitemap:loc'
|
||||
]
|
||||
);
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<?php
|
||||
if ( ! empty( $xslParams['pagination'] ) ) {
|
||||
aioseo()->templates->getTemplate(
|
||||
'sitemap/xsl/partials/pagination.php',
|
||||
[
|
||||
'sitemapUrl' => $sitemapUrl,
|
||||
'currentPage' => $currentPage,
|
||||
'linksPerIndex' => $linksPerIndex,
|
||||
'total' => $xslParams['pagination']['total'],
|
||||
'showing' => $xslParams['pagination']['showing']
|
||||
]
|
||||
);
|
||||
}
|
||||
?>
|
||||
</xsl:template>
|
||||
|
||||
<?php aioseo()->templates->getTemplate( 'sitemap/xsl/templates/header.php', [ 'utmMedium' => $utmMedium ] ); ?>
|
||||
<?php aioseo()->templates->getTemplate( 'sitemap/xsl/templates/format-priority.php' ); ?>
|
||||
<?php
|
||||
aioseo()->templates->getTemplate( 'sitemap/xsl/templates/empty-sitemap.php', [
|
||||
'utmMedium' => $utmMedium,
|
||||
'items' => [
|
||||
[ 'title' => __( 'Sitemap Index', 'all-in-one-seo-pack' ), 'url' => $sitemapUrl ]
|
||||
]
|
||||
] );
|
||||
?>
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
/**
|
||||
* XSL Breadcrumb partial for the sitemap.
|
||||
*
|
||||
* @since 4.1.5
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
|
||||
if ( empty( $data['items'] ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$sitemapIndex = aioseo()->sitemap->helpers->filename( 'general' );
|
||||
$sitemapIndex = $sitemapIndex ? $sitemapIndex : 'sitemap';
|
||||
?>
|
||||
<div class="breadcrumb">
|
||||
<svg class="back" width="6" height="9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.274 7.56L2.22 4.5l3.054-3.06-.94-.94-4 4 4 4 .94-.94z" fill="#141B38"/></svg>
|
||||
|
||||
<a href="<?php echo esc_attr( home_url() ); ?>"><span><?php esc_attr_e( 'Home', 'all-in-one-seo-pack' ); ?></span></a>
|
||||
|
||||
<?php
|
||||
foreach ( $data['items'] as $key => $item ) {
|
||||
if ( empty( $item ) ) {
|
||||
continue;
|
||||
}
|
||||
?>
|
||||
<svg width="6" height="8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M.727 7.06L3.78 4 .727.94l.94-.94 4 4-4 4-.94-.94z" fill="#141B38"/></svg>
|
||||
|
||||
<?php if ( count( $data['items'] ) === $key + 1 ) : ?>
|
||||
<span><?php echo esc_html( $item['title'] ); ?></span>
|
||||
<?php else : ?>
|
||||
<a href="<?php echo esc_attr( $item['url'] ) ?>"><span><?php echo esc_html( $item['title'] ); ?></span></a>
|
||||
<?php endif; ?>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
/**
|
||||
* XSL Breadcrumb partial for the sitemap.
|
||||
*
|
||||
* @since 4.1.5
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
|
||||
if ( empty( $data['datetime'] ) || empty( $data['node'] ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
?>
|
||||
<div class="date">
|
||||
<xsl:choose>
|
||||
<?php foreach ( $data['datetime'] as $slug => $datetime ) : ?>
|
||||
<xsl:when test="<?php echo esc_attr( $data['node'] ); ?> = '<?php echo esc_attr( $slug ); ?>'"><?php echo esc_html( $datetime['date'] ); ?></xsl:when>
|
||||
<?php endforeach; ?>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
<div class="time">
|
||||
<xsl:choose>
|
||||
<?php foreach ( $data['datetime'] as $slug => $datetime ) : ?>
|
||||
<xsl:when test="<?php echo esc_attr( $data['node'] ); ?> = '<?php echo esc_attr( $slug ); ?>'"><?php echo esc_html( $datetime['time'] ); ?></xsl:when>
|
||||
<?php endforeach; ?>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
/**
|
||||
* XSL Pagination partial for the sitemap.
|
||||
*
|
||||
* @since 4.1.5
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// Don't allow pagination for now.
|
||||
return;
|
||||
|
||||
// phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
|
||||
|
||||
// Check if requires pagination.
|
||||
if ( $data['showing'] === $data['total'] ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$currentPage = (int) $data['currentPage'];
|
||||
$totalLinks = (int) $data['total'];
|
||||
$showing = (int) $data['showing'];
|
||||
$linksPerIndex = (int) $data['linksPerIndex'];
|
||||
$totalPages = ceil( $totalLinks / $linksPerIndex );
|
||||
$start = ( ( $currentPage - 1 ) * $linksPerIndex ) + 1;
|
||||
$end = ( ( $currentPage - 1 ) * $linksPerIndex ) + $showing;
|
||||
|
||||
$hasNextPage = $totalPages > $currentPage;
|
||||
$hasPrevPage = $currentPage > 1;
|
||||
$nextPageUri = $hasNextPage ? preg_replace( '/sitemap([0-9]*)\.xml/', 'sitemap' . ( $currentPage + 1 ) . '.xml', (string) $data['sitemapUrl'] ) : '#';
|
||||
$prevPageUri = $hasPrevPage ? preg_replace( '/sitemap([0-9]*)\.xml/', 'sitemap' . ( $currentPage - 1 ) . '.xml', (string) $data['sitemapUrl'] ) : '#';
|
||||
?>
|
||||
<div class="pagination">
|
||||
<div class="label">
|
||||
<?php
|
||||
echo esc_html(
|
||||
sprintf(
|
||||
// Translators: 1 - The "start-end" pagination results, 2 - Total items.
|
||||
__( 'Showing %1$s of %2$s', 'all-in-one-seo-pack' ),
|
||||
"$start-$end",
|
||||
$totalLinks
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
|
||||
<a href="<?php echo esc_attr( $prevPageUri ); ?>" class="<?php echo $hasPrevPage ? '' : 'disabled'; ?>">
|
||||
<svg width="7" height="10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.842 8.825L3.025 5l3.817-3.825L5.667 0l-5 5 5 5 1.175-1.175z" fill="#141B38"/></svg>
|
||||
</a>
|
||||
|
||||
<a href="<?php echo esc_attr( $nextPageUri ); ?>" class="<?php echo $hasNextPage ? '' : 'disabled'; ?>">
|
||||
<svg width="7" height="10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M.158 8.825L3.975 5 .158 1.175 1.333 0l5 5-5 5L.158 8.825z" fill="#141B38"/></svg>
|
||||
</a>
|
||||
</div>
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/**
|
||||
* XSL sortableColumn partial for the sitemap.
|
||||
*
|
||||
* @since 4.1.5
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
|
||||
|
||||
// Just print out the title for now.
|
||||
echo esc_html( $data['title'] );
|
||||
|
||||
/*$orderBy = 'ascending';
|
||||
if ( ! empty( $data['parameters']['sitemap-orderby'] ) ) {
|
||||
$orderBy = $data['parameters']['sitemap-orderby'];
|
||||
}
|
||||
|
||||
$isOrdering = false;
|
||||
if ( ! empty( $data['parameters']['sitemap-order'] ) ) {
|
||||
$isOrdering = $data['column'] === $data['parameters']['sitemap-order'];
|
||||
}
|
||||
|
||||
$link = add_query_arg( [
|
||||
'sitemap-order' => $data['column'],
|
||||
'sitemap-orderby' => 'ascending' === $orderBy ? 'descending' : 'ascending'
|
||||
], $data['sitemapUrl'] );
|
||||
?>
|
||||
<a href="<?php echo esc_url( $link ); ?>" class="sortable <?php echo esc_attr( ( $isOrdering ? 'active' : '' ) . ' ' . $orderBy ); ?>">
|
||||
<?php echo esc_html( $data['title'] ); ?>
|
||||
</a>*/
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* XSL XSLSort partial for the sitemap.
|
||||
*
|
||||
* @since 4.1.5
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
|
||||
if ( empty( $data['node'] ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$orderBy = '';
|
||||
if ( ! empty( $data['parameters']['sitemap-orderby'] ) && in_array( $data['parameters']['sitemap-orderby'], [ 'ascending', 'descending' ], true ) ) {
|
||||
$orderBy = $data['parameters']['sitemap-orderby'];
|
||||
}
|
||||
|
||||
if ( empty( $orderBy ) ) {
|
||||
return;
|
||||
}
|
||||
?>
|
||||
|
||||
<xsl:sort select="<?php echo esc_attr( $data['node'] ); ?>" order="<?php echo esc_attr( $orderBy ) ?>"/>
|
||||
@@ -0,0 +1,117 @@
|
||||
<?php
|
||||
/**
|
||||
* Styles for the sitemap.
|
||||
*
|
||||
* @since 4.1.5
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// phpcs:disable
|
||||
?>
|
||||
<style type="text/css">
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
font-size: 68.5%;
|
||||
}
|
||||
#content-head {
|
||||
background-color: #141B38;
|
||||
padding: 20px 40px;
|
||||
}
|
||||
#content-head h1,
|
||||
#content-head p,
|
||||
#content-head a {
|
||||
color: #fff;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
#content-head h1 {
|
||||
font-size: 2em;
|
||||
}
|
||||
table {
|
||||
margin: 20px 40px;
|
||||
border: none;
|
||||
border-collapse: collapse;
|
||||
font-size: 1em;
|
||||
width: 75%;
|
||||
}
|
||||
th {
|
||||
border-bottom: 1px solid #ccc;
|
||||
text-align: left;
|
||||
padding: 15px 5px;
|
||||
font-size: 14px;
|
||||
}
|
||||
td {
|
||||
padding: 10px 5px;
|
||||
border-left: 3px solid #fff;
|
||||
}
|
||||
tr.stripe {
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
table td a:not(.localized) {
|
||||
display: block;
|
||||
}
|
||||
table td a img {
|
||||
max-height: 30px;
|
||||
margin: 6px 3px;
|
||||
}
|
||||
.empty-sitemap {
|
||||
margin: 20px 40px;
|
||||
width: 75%;
|
||||
}
|
||||
.empty-sitemap__title {
|
||||
font-size: 18px;
|
||||
line-height: 125%;
|
||||
margin: 12px 0;
|
||||
}
|
||||
.empty-sitemap svg {
|
||||
width: 140px;
|
||||
height: 140px;
|
||||
}
|
||||
.empty-sitemap__buttons {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
.empty-sitemap__buttons .button {
|
||||
margin-right: 5px;
|
||||
}
|
||||
.breadcrumb {
|
||||
margin: 20px 40px;
|
||||
width: 75%;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.breadcrumb a {
|
||||
color: #141B38;
|
||||
text-decoration: none;
|
||||
}
|
||||
.breadcrumb svg {
|
||||
margin: 0 10px;
|
||||
}
|
||||
@media (max-width: 1023px) {
|
||||
.breadcrumb svg:not(.back),
|
||||
.breadcrumb a:not(:last-of-type),
|
||||
.breadcrumb span {
|
||||
display: none;
|
||||
}
|
||||
.breadcrumb a:last-of-type::before {
|
||||
content: '<?php _e( 'Back', 'all-in-one-seo-pack' ); ?>'
|
||||
}
|
||||
}
|
||||
@media (min-width: 1024px) {
|
||||
.breadcrumb {
|
||||
font-size: 14px;
|
||||
}
|
||||
.breadcrumb a {
|
||||
font-weight: 400;
|
||||
}
|
||||
.breadcrumb svg.back {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
/**
|
||||
* XSL emptySitemap template for the sitemap.
|
||||
*
|
||||
* @since 4.1.5
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
$canManageSitemap = is_user_logged_in() && aioseo()->access->hasCapability( 'aioseo_sitemap_settings' );
|
||||
$adminUrl = admin_url( 'admin.php?page=aioseo-sitemaps' );
|
||||
|
||||
// phpcs:disable
|
||||
if ( 'xml-sitemap' !== $data['utmMedium'] ) {
|
||||
$adminUrl .= '#/' . str_replace( 'aioseo-', '', $data['utmMedium'] );
|
||||
}
|
||||
?>
|
||||
<xsl:template name="emptySitemap">
|
||||
<?php
|
||||
if ( ! empty( $data['items'] ) ) {
|
||||
aioseo()->templates->getTemplate(
|
||||
'sitemap/xsl/partials/breadcrumb.php',
|
||||
[ 'items' => $data['items'] ]
|
||||
);
|
||||
}
|
||||
?>
|
||||
<div class="empty-sitemap">
|
||||
<h2 class="empty-sitemap__title">
|
||||
<?php _e( 'Whoops!', 'all-in-one-seo-pack' ); ?>
|
||||
<br />
|
||||
<?php _e( 'There are no posts here', 'all-in-one-seo-pack' ); ?>
|
||||
</h2>
|
||||
<div class="empty-sitemap__buttons">
|
||||
<a href="<?php echo esc_attr( home_url() ); ?>" class="button"><?php _e( 'Back to Homepage', 'all-in-one-seo-pack' ); ?></a>
|
||||
<?php if ( $canManageSitemap ) : ?>
|
||||
<a href="<?php echo esc_attr( esc_url( $adminUrl ) ); ?>" class="button"><?php _e( 'Configure Sitemap', 'all-in-one-seo-pack' ); ?></a>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<?php if ( $canManageSitemap ) : ?>
|
||||
<div class="aioseo-alert yellow">
|
||||
<?php
|
||||
echo sprintf(
|
||||
// Translators: 1 - Opening HTML link tag, 2 - Closing HTML link tag.
|
||||
__( 'Didn\'t expect to see this? Make sure your sitemap is enabled and your content is set to be indexed. %1$sLearn More →%2$s', 'all-in-one-seo-pack' ),
|
||||
'<a target="_blank" href="' . aioseo()->helpers->utmUrl( AIOSEO_MARKETING_URL . 'docs/how-to-fix-a-404-error-when-viewing-your-sitemap/', $data['utmMedium'], 'learn-more' ) . '">',
|
||||
'</a>'
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<style>
|
||||
.hand-magnifier{
|
||||
animation: hand-magnifier .8s infinite ease-in-out;
|
||||
transform-origin: center 90%;
|
||||
transform-box: fill-box;
|
||||
}
|
||||
@keyframes hand-magnifier {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
50% {
|
||||
transform: rotate(-12deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</xsl:template>
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
/**
|
||||
* XSL formatPriority template for the sitemap.
|
||||
*
|
||||
* @since 4.1.5
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// phpcs:disable
|
||||
?>
|
||||
<xsl:template name="formatPriority">
|
||||
<xsl:param name="priority"/>
|
||||
|
||||
<xsl:variable name="priorityLevel">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$priority <= 0.5">low</xsl:when>
|
||||
<xsl:when test="$priority >= 0.6 and $priority <= 0.8">medium</xsl:when>
|
||||
<xsl:when test="$priority >= 0.9">high</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="priorityLabel">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$priorityLevel = 'low'"><?php _e( 'Low', 'all-in-one-seo-pack' ); ?></xsl:when>
|
||||
<xsl:when test="$priorityLevel = 'medium'"><?php _e( 'Medium', 'all-in-one-seo-pack' ); ?></xsl:when>
|
||||
<xsl:when test="$priorityLevel = 'high'"><?php _e( 'High', 'all-in-one-seo-pack' ); ?></xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<div>
|
||||
<xsl:attribute name="class">
|
||||
<xsl:value-of select="concat('priority priority--', $priorityLevel)" />
|
||||
</xsl:attribute>
|
||||
<xsl:value-of select="$priorityLabel" />
|
||||
</div>
|
||||
</xsl:template>
|
||||
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
/**
|
||||
* XSL Header template for the sitemap.
|
||||
*
|
||||
* @since 4.1.5
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// phpcs:disable
|
||||
?>
|
||||
<xsl:template name="Header">
|
||||
<xsl:param name="title"/>
|
||||
<xsl:param name="amountOfURLs"/>
|
||||
<xsl:param name="fileType"/>
|
||||
|
||||
<div id="content-head">
|
||||
<h1><xsl:value-of select="$title"/></h1>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$fileType='RSS'">
|
||||
<p><?php echo __( 'Generated by', 'all-in-one-seo-pack' ); ?> <a href="<?php echo aioseo()->helpers->utmUrl( AIOSEO_MARKETING_URL, $data['utmMedium'] ); ?>" target="_blank" rel="noreferrer noopener"><?php echo AIOSEO_PLUGIN_NAME; ?></a>, <?php echo __( 'this is an RSS Sitemap, meant to be consumed by search engines like Google or Bing.', 'all-in-one-seo-pack' ) ?></p>
|
||||
<p>
|
||||
<?php
|
||||
// Translators: 1 - Opening HTML link tag, 2 - Closing HTML link tag.
|
||||
printf( __( 'You can find more information about RSS Sitemaps at %1$ssitemaps.org%2$s.', 'all-in-one-seo-pack' ), '<a href="https://www.sitemaps.org/" target="_blank" rel="noreferrer noopener">', '</a>');
|
||||
?>
|
||||
</p>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<p><?php echo __( 'Generated by', 'all-in-one-seo-pack' ); ?> <a href="<?php echo aioseo()->helpers->utmUrl( AIOSEO_MARKETING_URL, $data['utmMedium'] ); ?>" target="_blank" rel="noreferrer noopener"><?php echo AIOSEO_PLUGIN_NAME; ?></a>, <?php echo __( 'this is an XML Sitemap, meant to be consumed by search engines like Google or Bing.', 'all-in-one-seo-pack' ) ?></p>
|
||||
<p>
|
||||
<?php
|
||||
// Translators: 1 - Opening HTML link tag, 2 - Closing HTML link tag.
|
||||
printf( __( 'You can find more information about XML Sitemaps at %1$ssitemaps.org%2$s.', 'all-in-one-seo-pack' ), '<a href="https://www.sitemaps.org/" target="_blank" rel="noreferrer noopener">', '</a>');
|
||||
?>
|
||||
</p>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:if test="$amountOfURLs > 0">
|
||||
<p>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$fileType='Sitemap' or $fileType='RSS'">
|
||||
<?php echo __( 'This sitemap contains', 'all-in-one-seo-pack' ); ?>
|
||||
<xsl:value-of select="$amountOfURLs"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$amountOfURLs = 1">
|
||||
<?php _e( 'URL', 'all-in-one-seo-pack' ); ?>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<?php _e( 'URLs', 'all-in-one-seo-pack' ); ?>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<?php echo __( 'This sitemap index contains', 'all-in-one-seo-pack' ); ?>
|
||||
<xsl:value-of select="$amountOfURLs"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$amountOfURLs = 1">
|
||||
<?php _e( 'sitemap', 'all-in-one-seo-pack' ); ?>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<?php _e( 'sitemaps', 'all-in-one-seo-pack' ); ?>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<?php
|
||||
echo sprintf(
|
||||
// Translators: 1 - The generated date, 2 - The generated time.
|
||||
__( 'and was generated on %1$s at %2$s', 'all-in-one-seo-pack' ),
|
||||
date_i18n( get_option( 'date_format' ) ),
|
||||
date_i18n( get_option( 'time_format' ) )
|
||||
);
|
||||
?>
|
||||
</p>
|
||||
</xsl:if>
|
||||
</div>
|
||||
</xsl:template>
|
||||
Reference in New Issue
Block a user