feat: initial ACRIB WordPress deployment
- WordPress 6.9.4 (es_ES) with Kadence theme - Homepage: Hero, La Asociación, Pilares, Beneficios, Eventos, Miembros, Hazte Miembro, Contacto - Brand identity: #13294b navy, #a12932 burgundy, #c69c48 gold - Fonts: Raleway (headings) + Source Sans 3 (body) + Lato (UI) - Plugins: Kadence Blocks, Polylang, Contact Form 7 - Custom CSS with full brand styling and responsive layout - HTTPS enforced via wp-config.php proxy detection
This commit is contained in:
178
wp-content/plugins/polylang/js/build/post.js
Normal file
178
wp-content/plugins/polylang/js/build/post.js
Normal file
@@ -0,0 +1,178 @@
|
||||
/**
|
||||
* @package Polylang
|
||||
*/
|
||||
|
||||
/**
|
||||
* Tag suggest in quick edit
|
||||
*/
|
||||
jQuery(
|
||||
function ( $ ) {
|
||||
$.ajaxPrefilter(
|
||||
function ( options, originalOptions, jqXHR ) {
|
||||
if ( 'string' === typeof options.data && -1 !== options.data.indexOf( 'action=ajax-tag-search' ) && ( lang = $( ':input[name="inline_lang_choice"]' ).val() ) ) {
|
||||
options.data = 'lang=' + lang + '&' + options.data;
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* Quick edit
|
||||
*/
|
||||
jQuery(
|
||||
function ( $ ) {
|
||||
const handleQuickEditInsertion = ( mutationsList ) => {
|
||||
for ( const mutation of mutationsList ) {
|
||||
const addedNodes = Array.from( mutation.addedNodes ).filter( el => el.nodeType === Node.ELEMENT_NODE )
|
||||
const form = addedNodes[0];
|
||||
if ( 0 < mutation.addedNodes.length && form.classList.contains( 'inline-editor' ) ) {
|
||||
// WordPress has inserted the quick edit form.
|
||||
const post_id = Number( form.id.substring( 5 ) );
|
||||
|
||||
if ( post_id > 0 ) {
|
||||
// Get the language dropdown.
|
||||
const select = form.querySelector( 'select[name="inline_lang_choice"]' );
|
||||
const lang = document.querySelector( '#lang_' + String( post_id ) ).innerHTML;
|
||||
select.value = lang; // Populates the dropdown with the post language.
|
||||
|
||||
filter_terms( lang ); // Initial filter for category checklist.
|
||||
filter_pages( lang ); // Initial filter for parent dropdown.
|
||||
|
||||
// Modify category checklist and parent dropdown on language change.
|
||||
select.addEventListener(
|
||||
'change',
|
||||
function ( event ) {
|
||||
const newLang = event.target.value;
|
||||
filter_terms( newLang );
|
||||
filter_pages( newLang );
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Filters the category checklist.
|
||||
*/
|
||||
function filter_terms( lang ) {
|
||||
if ( "undefined" != typeof( pll_term_languages ) ) {
|
||||
$.each(
|
||||
pll_term_languages,
|
||||
function ( lg, term_tax ) {
|
||||
$.each(
|
||||
term_tax,
|
||||
function ( tax, terms ) {
|
||||
$.each(
|
||||
terms,
|
||||
function ( i ) {
|
||||
// Backward compatibility with WordPress < 6.7.
|
||||
// Support both old (WP < 6.7) and new (WP >= 6.7) ID formats.
|
||||
// Old format: category-123 (WordPress < 6.7).
|
||||
// New format: in-category-123-1 (WordPress >= 6.7).
|
||||
const termId = pll_term_languages[ lg ][ tax ][ i ];
|
||||
const selector = `#${tax}-${termId}, [id^="in-${tax}-${termId}-"]`;
|
||||
$( selector ).toggle( lang === lg );
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Filters the parent page dropdown list.
|
||||
*/
|
||||
function filter_pages( lang ) {
|
||||
if ( "undefined" != typeof( pll_page_languages ) ) {
|
||||
$.each(
|
||||
pll_page_languages,
|
||||
function ( lg, pages ) {
|
||||
$.each(
|
||||
pages,
|
||||
function ( i ) {
|
||||
v = $( '#post_parent option[value="' + pll_page_languages[ lg ][ i ] + '"]' );
|
||||
lang == lg ? v.show() : v.hide();
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
const table = document.getElementById( 'the-list' );
|
||||
|
||||
if ( ! table ) {
|
||||
return;
|
||||
}
|
||||
|
||||
const config = { childList: true, subtree: true };
|
||||
const observer = new MutationObserver( handleQuickEditInsertion );
|
||||
|
||||
observer.observe( table, config);
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* Update rows of translated posts when the language is modified in quick edit
|
||||
* Acts on ajaxSuccess event
|
||||
*/
|
||||
jQuery(
|
||||
function ( $ ) {
|
||||
$( document ).ajaxSuccess(
|
||||
function ( event, xhr, settings ) {
|
||||
function update_rows( post_id ) {
|
||||
// collect old translations
|
||||
var translations = new Array();
|
||||
$( '.translation_' + post_id ).each(
|
||||
function () {
|
||||
translations.push( $( this ).parent().parent().attr( 'id' ).substring( 5 ) );
|
||||
}
|
||||
);
|
||||
|
||||
var data = {
|
||||
action: 'pll_update_post_rows',
|
||||
post_id: post_id,
|
||||
translations: translations.join( ',' ),
|
||||
post_type: $( "input[name='post_type']" ).val(),
|
||||
screen: $( "input[name='screen']" ).val(),
|
||||
_pll_nonce: $( "input[name='_inline_edit']" ).val() // reuse quick edit nonce
|
||||
};
|
||||
|
||||
// get the modified rows in ajax and update them
|
||||
$.post(
|
||||
ajaxurl,
|
||||
data,
|
||||
function ( response ) {
|
||||
if ( response ) {
|
||||
// Since WP changeset #52710 parseAjaxResponse() return content to notice the user in a HTML tag with ajax-response id.
|
||||
// Not to disturb this behaviour by executing another ajax request in the ajaxSuccess event, we need to target another unexisting id.
|
||||
var res = wpAjax.parseAjaxResponse( response, 'pll-ajax-response' );
|
||||
$.each(
|
||||
res.responses,
|
||||
function () {
|
||||
if ( 'row' == this.what ) {
|
||||
// data is built with a call to WP_Posts_List_Table::single_row method
|
||||
// which uses internally other WordPress methods which escape correctly values.
|
||||
// For Polylang language columns the HTML code is correctly escaped in PLL_Admin_Filters_Columns::post_column method.
|
||||
$( "#post-" + this.supplemental.post_id ).replaceWith( this.data ); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.replaceWith
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
if ( 'string' == typeof( settings.data ) ) { // Need to check the type due to block editor sometime sending FormData objects
|
||||
var data = wpAjax.unserialize( settings.data ); // what were the data sent by the ajax request?
|
||||
if ( 'undefined' != typeof( data['action'] ) && 'inline-save' == data['action'] ) {
|
||||
update_rows( data['post_ID'] );
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user