/**
* Handles the options in the language switcher nav menu metabox.
*
* @package Polylang
*/
jQuery(
function ( $ ) {
$( '#update-nav-menu' ).on(
'click',
function ( e ) {
if ( e.target && e.target.className && -1 != e.target.className.indexOf( 'item-edit' ) ) {
$( "input[value='#pll_switcher'][type=text]" ).parent().parent().parent().each(
function () {
var item = $( this ).attr( 'id' ).substring( 19 );
$( this ).children( 'p:not( .field-move )' ).remove(); // remove default fields we don't need
// item is a number part of id of parent menu item built by WordPress
// pll_data is built server side with i18n strings without HTML and data retrieved from post meta
// the usage of attr method is safe before append call.
h = $( ' ' ).attr(
{
type: 'hidden',
id: 'edit-menu-item-title-' + item,
name: 'menu-item-title[' + item + ']',
value: pll_data.title
}
);
$( this ).append( h ); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.append
h = $( ' ' ).attr(
{
type: 'hidden',
id: 'edit-menu-item-url-' + item,
name: 'menu-item-url[' + item + ']',
value: '#pll_switcher'
}
);
$( this ).append( h ); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.append
// a hidden field which exits only if our jQuery code has been executed
h = $( ' ' ).attr(
{
type: 'hidden',
id: 'edit-menu-item-pll-detect-' + item,
name: 'menu-item-pll-detect[' + item + ']',
value: 1
}
);
$( this ).append( h ); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.append
ids = Array( 'hide_if_no_translation', 'hide_current', 'force_home', 'show_flags', 'show_names', 'dropdown' ); // reverse order
// add the fields
for ( var i = 0, idsLength = ids.length; i < idsLength; i++ ) {
p = $( '' ).attr( 'class', 'description' );
// p is hardcoded just above by using attr method which is safe.
$( this ).prepend( p ); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.prepend
// item is a number part of id of parent menu item built by WordPress
// pll_data is built server side with i18n strings without HTML
label = $( '' ).attr( 'for', 'edit-menu-item-' + ids[ i ] + '-' + item ).text( ' ' + pll_data.strings[ ids[ i ] ] );
p.append( label ); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.append
cb = $( ' ' ).attr(
{
type: 'checkbox',
id: 'edit-menu-item-' + ids[ i ] + '-' + item,
name: 'menu-item-' + ids[ i ] + '[' + item + ']',
value: 1
}
);
if ( ( typeof( pll_data.val[ item ] ) != 'undefined' && pll_data.val[ item ][ ids[ i ] ] == 1 ) || ( typeof( pll_data.val[ item ] ) == 'undefined' && ids[ i ] == 'show_names' ) ) { // show_names as default value
cb.prop( 'checked', true );
}
// See reasons above. Checkbox are totally hardcoded here with safe value
label.prepend( cb ); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.prepend
}
}
);
// disallow unchecking both show names and show flags
$( '.menu-item-data-object-id' ).each(
function () {
var id = $( this ).val();
var options = ['names-', 'flags-'];
$.each(
options,
function ( i, v ) {
$( '#edit-menu-item-show_' + v + id ).on(
'change',
function () {
if ( true != $( this ).prop( 'checked' ) ) {
$( '#edit-menu-item-show_' + options[ 1 - i ] + id ).prop( 'checked', true );
}
}
);
}
);
}
);
}
}
);
}
);
{"id":124,"count":1,"description":"","link":"https:\/\/bulkvapecartridgeshop.com\/product-tag\/buy-ice-cream-cake-carts-online\/","name":"Buy ice cream cake carts online","slug":"buy-ice-cream-cake-carts-online","taxonomy":"product_tag","meta":[],"yoast_head":"\nBuy ice cream cake carts online Archives - vape cartridge<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bulkvapecartridgeshop.com\/product-tag\/buy-ice-cream-cake-carts-online\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Buy ice cream cake carts online Archives\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bulkvapecartridgeshop.com\/product-tag\/buy-ice-cream-cake-carts-online\/\" \/>\n<meta property=\"og:site_name\" content=\"vape cartridge\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"CollectionPage\",\"@id\":\"https:\/\/bulkvapecartridgeshop.com\/product-tag\/buy-ice-cream-cake-carts-online\/\",\"url\":\"https:\/\/bulkvapecartridgeshop.com\/product-tag\/buy-ice-cream-cake-carts-online\/\",\"name\":\"Buy ice cream cake carts online Archives - vape cartridge\",\"isPartOf\":{\"@id\":\"https:\/\/bulkvapecartridgeshop.com\/#website\"},\"breadcrumb\":{\"@id\":\"https:\/\/bulkvapecartridgeshop.com\/product-tag\/buy-ice-cream-cake-carts-online\/#breadcrumb\"},\"inLanguage\":\"en-US\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/bulkvapecartridgeshop.com\/product-tag\/buy-ice-cream-cake-carts-online\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/bulkvapecartridgeshop.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Buy ice cream cake carts online\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/bulkvapecartridgeshop.com\/#website\",\"url\":\"https:\/\/bulkvapecartridgeshop.com\/\",\"name\":\"vape cartridge\",\"description\":\"vape cartridge online\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/bulkvapecartridgeshop.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Buy ice cream cake carts online Archives - vape cartridge","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bulkvapecartridgeshop.com\/product-tag\/buy-ice-cream-cake-carts-online\/","og_locale":"en_US","og_type":"article","og_title":"Buy ice cream cake carts online Archives","og_url":"https:\/\/bulkvapecartridgeshop.com\/product-tag\/buy-ice-cream-cake-carts-online\/","og_site_name":"vape cartridge","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"CollectionPage","@id":"https:\/\/bulkvapecartridgeshop.com\/product-tag\/buy-ice-cream-cake-carts-online\/","url":"https:\/\/bulkvapecartridgeshop.com\/product-tag\/buy-ice-cream-cake-carts-online\/","name":"Buy ice cream cake carts online Archives - vape cartridge","isPartOf":{"@id":"https:\/\/bulkvapecartridgeshop.com\/#website"},"breadcrumb":{"@id":"https:\/\/bulkvapecartridgeshop.com\/product-tag\/buy-ice-cream-cake-carts-online\/#breadcrumb"},"inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https:\/\/bulkvapecartridgeshop.com\/product-tag\/buy-ice-cream-cake-carts-online\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bulkvapecartridgeshop.com\/"},{"@type":"ListItem","position":2,"name":"Buy ice cream cake carts online"}]},{"@type":"WebSite","@id":"https:\/\/bulkvapecartridgeshop.com\/#website","url":"https:\/\/bulkvapecartridgeshop.com\/","name":"vape cartridge","description":"vape cartridge online","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bulkvapecartridgeshop.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/bulkvapecartridgeshop.com\/wp-json\/wp\/v2\/product_tag\/124","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bulkvapecartridgeshop.com\/wp-json\/wp\/v2\/product_tag"}],"about":[{"href":"https:\/\/bulkvapecartridgeshop.com\/wp-json\/wp\/v2\/taxonomies\/product_tag"}],"wp:post_type":[{"href":"https:\/\/bulkvapecartridgeshop.com\/wp-json\/wp\/v2\/product?product_tag=124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}