You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
148 lines
5.3 KiB
PHTML
148 lines
5.3 KiB
PHTML
8 months ago
|
<?php
|
||
|
/**
|
||
|
* The taxonomies settings.
|
||
|
*
|
||
|
* @package RankMath
|
||
|
* @subpackage RankMath\Settings
|
||
|
*/
|
||
|
|
||
|
use RankMath\Helper;
|
||
|
|
||
|
defined( 'ABSPATH' ) || exit;
|
||
|
|
||
|
$taxonomy = $tab['taxonomy'];
|
||
|
$taxonomy_obj = get_taxonomy( $taxonomy );
|
||
|
$name = $taxonomy_obj->labels->singular_name;
|
||
|
|
||
|
$metabox_default = 'off';
|
||
|
$custom_default = 'off';
|
||
|
$remove_snippet_default = in_array( $taxonomy, [ 'product_cat', 'product_tag' ], true ) || substr( $taxonomy, 0, 3 ) === 'pa_' ? 'on' : 'off';
|
||
|
|
||
|
if ( 'category' === $taxonomy ) {
|
||
|
$metabox_default = 'on';
|
||
|
$custom_default = 'off';
|
||
|
} elseif ( 'post_tag' === $taxonomy ) {
|
||
|
$metabox_default = 'off';
|
||
|
$custom_default = 'on';
|
||
|
} elseif ( 'post_format' === $taxonomy ) {
|
||
|
$custom_default = 'on';
|
||
|
}
|
||
|
|
||
|
$cmb->add_field(
|
||
|
[
|
||
|
'id' => 'tax_' . $taxonomy . '_title',
|
||
|
'type' => 'text',
|
||
|
/* translators: taxonomy name */
|
||
|
'name' => sprintf( esc_html__( '%s Archive Titles', 'rank-math' ), $name ),
|
||
|
/* translators: taxonomy name */
|
||
|
'desc' => sprintf( esc_html__( 'Title tag for %s archives', 'rank-math' ), $name ),
|
||
|
'classes' => 'rank-math-supports-variables rank-math-title',
|
||
|
'default' => '%term% Archives %page% %sep% %sitename%',
|
||
|
'sanitization_cb' => [ '\RankMath\CMB2', 'sanitize_textfield' ],
|
||
|
'attributes' => [ 'data-exclude-variables' => 'seo_title,seo_description' ],
|
||
|
]
|
||
|
);
|
||
|
|
||
|
$cmb->add_field(
|
||
|
[
|
||
|
'id' => 'tax_' . $taxonomy . '_description',
|
||
|
'type' => 'textarea_small',
|
||
|
/* translators: taxonomy name */
|
||
|
'name' => sprintf( esc_html__( '%s Archive Descriptions', 'rank-math' ), $name ),
|
||
|
/* translators: taxonomy name */
|
||
|
'desc' => sprintf( esc_html__( 'Description for %s archives', 'rank-math' ), $name ),
|
||
|
'classes' => 'rank-math-supports-variables rank-math-description',
|
||
|
'attributes' => [
|
||
|
'class' => 'cmb2-textarea-small wp-exclude-emoji',
|
||
|
'data-gramm' => 'false',
|
||
|
'rows' => 2,
|
||
|
'data-exclude-variables' => 'seo_title,seo_description',
|
||
|
],
|
||
|
'default' => '%term_description%',
|
||
|
]
|
||
|
);
|
||
|
|
||
|
$cmb->add_field(
|
||
|
[
|
||
|
'id' => 'tax_' . $taxonomy . '_custom_robots',
|
||
|
'type' => 'toggle',
|
||
|
/* translators: taxonomy name */
|
||
|
'name' => sprintf( esc_html__( '%s Archives Robots Meta', 'rank-math' ), $name ),
|
||
|
/* translators: taxonomy name */
|
||
|
'desc' => sprintf( wp_kses_post( __( 'Select custom robots meta, such as <code>nofollow</code>, <code>noarchive</code>, etc. for %s archive pages. Otherwise the default meta will be used, as set in the Global Meta tab.', 'rank-math' ) ), strtolower( $name ) ),
|
||
|
'options' => [
|
||
|
'off' => esc_html__( 'Default', 'rank-math' ),
|
||
|
'on' => esc_html__( 'Custom', 'rank-math' ),
|
||
|
],
|
||
|
'default' => $custom_default,
|
||
|
'classes' => 'rank-math-advanced-option',
|
||
|
]
|
||
|
);
|
||
|
|
||
|
$cmb->add_field(
|
||
|
[
|
||
|
'id' => 'tax_' . $taxonomy . '_robots',
|
||
|
'type' => 'multicheck',
|
||
|
/* translators: taxonomy name */
|
||
|
'name' => sprintf( esc_html__( '%s Archives Robots Meta', 'rank-math' ), $name ),
|
||
|
/* translators: taxonomy name */
|
||
|
'desc' => sprintf( esc_html__( 'Custom values for robots meta tag on %s archives.', 'rank-math' ), $name ),
|
||
|
'options' => Helper::choices_robots(),
|
||
|
'select_all_button' => false,
|
||
|
'dep' => [ [ 'tax_' . $taxonomy . '_custom_robots', 'on' ] ],
|
||
|
'classes' => 'rank-math-advanced-option rank-math-robots-data',
|
||
|
'default' => [ 'index' ],
|
||
|
]
|
||
|
);
|
||
|
|
||
|
$cmb->add_field(
|
||
|
[
|
||
|
'id' => 'tax_' . $taxonomy . '_advanced_robots',
|
||
|
'type' => 'advanced_robots',
|
||
|
/* translators: taxonomy name */
|
||
|
'name' => sprintf( esc_html__( '%s Archives Advanced Robots Meta', 'rank-math' ), $name ),
|
||
|
'sanitization_cb' => [ '\RankMath\CMB2', 'sanitize_advanced_robots' ],
|
||
|
'dep' => [ [ 'tax_' . $taxonomy . '_custom_robots', 'on' ] ],
|
||
|
'classes' => 'rank-math-advanced-option',
|
||
|
]
|
||
|
);
|
||
|
|
||
|
$cmb->add_field(
|
||
|
[
|
||
|
'id' => 'tax_' . $taxonomy . '_slack_enhanced_sharing',
|
||
|
'type' => 'toggle',
|
||
|
'name' => esc_html__( 'Slack Enhanced Sharing', 'rank-math' ),
|
||
|
'desc' => esc_html__( 'When the option is enabled and a term from this taxonomy is shared on Slack, additional information will be shown (the total number of items with this term).', 'rank-math' ),
|
||
|
'default' => 'on',
|
||
|
'classes' => 'rank-math-advanced-option',
|
||
|
]
|
||
|
);
|
||
|
|
||
|
$cmb->add_field(
|
||
|
[
|
||
|
'id' => 'tax_' . $taxonomy . '_add_meta_box',
|
||
|
'type' => 'toggle',
|
||
|
'name' => esc_html__( 'Add SEO Controls', 'rank-math' ),
|
||
|
'desc' => esc_html__( 'Add the SEO Controls for the term editor screen to customize SEO options for individual terms in this taxonomy.', 'rank-math' ),
|
||
|
'default' => $metabox_default,
|
||
|
'classes' => 'rank-math-advanced-option',
|
||
|
]
|
||
|
);
|
||
|
|
||
|
$cmb->add_field(
|
||
|
[
|
||
|
'id' => 'remove_' . $taxonomy . '_snippet_data',
|
||
|
'type' => 'toggle',
|
||
|
'name' => esc_html__( 'Remove Snippet Data', 'rank-math' ),
|
||
|
/* translators: taxonomy name */
|
||
|
'desc' => sprintf( esc_html__( 'Remove schema data from %s.', 'rank-math' ), $name ),
|
||
|
'default' => $remove_snippet_default,
|
||
|
'classes' => 'rank-math-advanced-option',
|
||
|
]
|
||
|
);
|
||
|
|
||
|
if ( 'post_format' === $taxonomy ) {
|
||
|
$cmb->remove_field( 'tax_' . $taxonomy . '_add_meta_box' );
|
||
|
$cmb->remove_field( 'remove_' . $taxonomy . '_snippet_data' );
|
||
|
}
|