MLA_WPML

Class MLA (Media Library Assistant) WPML provides admin mode support for the WPML Multilingual CMS family of plugins, including WPML Media

package

Media Library Assistant

since 2.11

Methods

Adds a term and its translations to $relevant_terms

_add_relevant_term( $term,  $translations = NULL,  $skip_cache = false) 
static
since 2.11
uses

Arguments

$term

$translations

$skip_cache

Compute Term Synchronization replacement $tax_inputs

_apply_synch_input(string $language) : array
static

Assumes the "current post" in $existing_terms is the source and $existing_terms contains the target translation

since 2.11
uses

Arguments

$language

string

the target translation code

Response

array

$tax_inputs for Term Synchronization

Filter the $tax_input array to a specific language

_apply_tax_input(integer $post_id, string $post_language = NULL) : array
static
since 2.11
uses

Arguments

$post_id

integer

ID of the post to be updated

$post_language

string

explicit language_code; optional

Response

array

language-specific $tax_inputs

Apply Term Synchronization

_apply_term_synchronization(integer $post_id) : array
static
since 2.15
uses

Arguments

$post_id

integer

the item we're synchronizing to

Response

array

$tax_inputs for Term Synchronization

Build the $existing_terms array

_build_existing_terms(integer $post_id) 
static

Takes each translatable taxonomy and builds an array of language-specific term_id to term_id/term_name mappings for terms already assigned to the item translation.

since 2.11
uses

Arguments

$post_id

integer

ID of the current post

Build the $tax_input array

_build_tax_input(integer $post_id, array $tax_inputs = NULL, array $tax_actions = NULL) 
static

Takes each term from the $tax_inputs parameter and builds an array of language-specific term_id to term_id/term_name mappings for all languages.

since 2.11
uses

Arguments

$post_id

integer

ID of the current post

$tax_inputs

array

'tax_input' request parameter

$tax_actions

array

'tax_action' request parameter

Finds a $relevant_term (if defined) given a key and (optional) a language

_get_relevant_term(string $field, mixed $value, string $taxonomy, string $language = NULL, boolean $test_only = false,  $skip_cache = false) 
static
since 2.11
uses

Arguments

$field

string

to search in; 'id', 'name', or 'term_taxonomy_id'

$value

mixed

to search for; integer, string or integer

$taxonomy

string

to search in; slug

$language

string

code; string; optional

$test_only

boolean

false (default) to add missing term, true to leave term out

$skip_cache

Delete saved settings, restoring default values

_reset_language_settings() : array
static
since 2.11

Response

array

Message(s) reflecting the results of the operation

Save Language settings to the options table

_save_language_settings() : array
static
since 2.11
uses

Response

array

Message(s) reflecting the results of the operation

Update the $existing_terms array

_update_existing_terms(integer $post_id) : array
static

Takes each translatable taxonomy and rebuilds the array of language-specific term_id to term_id/term_name mappings for the "current translation" represented by the $post_id.

since 2.11
uses

Arguments

$post_id

integer

ID of the current post

Response

array

( taxonomy => term assignments ) before the update

Add the plugin's admin-mode filter/action handlers

admin_init() : void
static
since 2.11

Captures "before update" term assignments from the Media/Edit Media screen

attachment_fields_to_save(\WP_Post $post, array $attachment) 
static
since 2.13

Arguments

$post

\WP_Post

The WP_Post object.

$attachment

array

An array of attachment metadata.

Filters taxonomy updates by language for Bulk Edit during Add New Media and the Media/Edit Media screen

edit_attachment( $post_id) 
static
since 2.11

Arguments

$post_id

Initialization function, similar to __construct()

initialize() : void
static

This function contains add_action and add_filter calls.

since 2.11

Force "All languages" mode for IPTC/EXIF mapping, which uses mla_get_shortcode_attachments

mla_begin_mapping( $source,  $post_id = NULL) 
static
since 2.20

Arguments

$source

$post_id

Remove "All languages" filter

mla_end_mapping() : void
static
since 2.20

Adds the "Language" tab to the Settings/Media Library Assistant list

mla_get_options_tablist( $results,  $mla_tablist,  $tab) : array
static
since 2.11

Arguments

$results

$mla_tablist

$tab

Response

array

updated tablist or single tab element

Captures the Bulk Edit, "Upload New Media" parameters

mla_list_table_bulk_action_initial_request(array $request, string $bulk_action, array $custom_field_map) : array
static
since 2.11

Arguments

$request

array

bulk action request parameters, including ['mla_bulk_action_do_cleanup'].

$bulk_action

string

the requested action.

$custom_field_map

array

[ slug => field_name ]

Response

array

updated bulk action request parameters

Converts Bulk Edit taxonomy inputs to language-specific values

mla_list_table_bulk_action_item_request(array $request, string $bulk_action, integer $post_id, array $custom_field_map) : array
static
since 2.11

Arguments

$request

array

bulk action request parameters, including ['mla_bulk_action_do_cleanup'].

$bulk_action

string

the requested action.

$post_id

integer

the affected attachment.

$custom_field_map

array

[ slug => field_name ]

Response

array

updated bulk action request parameters

Add a duplicate translation for an item, then redirect to the Media/Edit Media screen

mla_list_table_custom_admin_action(string $mla_admin_action, integer $mla_item_ID) 
static
since 2.11

Arguments

$mla_admin_action

string

the requested action.

$mla_item_ID

integer

zero (0), or the affected attachment.

Captures the Quick Edit "before update" term assignments

mla_list_table_inline_action(array $item_content, integer $post_id) : object
static
since 2.11

Arguments

$item_content

array

NULL, to indicate no handler.

$post_id

integer

the affected attachment.

Response

object

updated $item_content. NULL if no handler, otherwise ( 'message' => error or status message(s), 'body' => '', 'prevent_default' => true to bypass the MLA handler )

Localize $mla_language_option_definitions array

mla_localize_language_option_definitions() : void
static

Localization must be done at runtime, and these calls cannot be placed in the "public static" array definition itself.

since 2.11

Manages the creation of new taxonomy terms from metadata values

mla_mapping_new_text( $new_text,  $setting_key,  $post_id,  $category,  $attachment_metadata) : array
static
since 2.20

Arguments

$new_text

$setting_key

$post_id

$category

$attachment_metadata

Response

array

updated rule EXIF/Template value

Saves the current mapping rule for term creation

mla_mapping_rule( $setting_value,  $post_id,  $category,  $attachment_metadata) 
static
since 2.20

Arguments

$setting_value

$post_id

$category

$attachment_metadata

Captures the existing term assignments before the Media Manager Modal Window ATTACHMENT DETAILS taxonomy meta boxes updates

mla_media_modal_begin_update_compat_fields( $post) 
static
since 2.11

Arguments

$post

Applies Term Synchronization after the Media Manager Modal Window taxonomy updates

mla_media_modal_end_update_compat_fields( $results,  $taxonomies,  $post) 
static
since 2.11

Arguments

$results

$taxonomies

$post

Applies Term Assignment to the terms assigned to one Media Manager Modal Window ATTACHMENT DETAILS taxonomy

mla_media_modal_update_compat_fields_terms( $terms,  $key,  $value,  $post_id) 
static
since 2.11

Arguments

$terms

$key

$value

$post_id

Renders the Settings/Media Library Assistant "Language" tab

mla_render_language_tab() : array
static
since 2.11

Response

array

( 'message' => '', 'body' => '' )

Applies Term Synchronization after item updates

mla_updated_single_item(integer $post_id, integer $result) 
static
since 2.15

Arguments

$post_id

integer

ID of the item that was updated.

$result

integer

Zero if the update failed else ID of the item that was updated.

Modify and extend the substitution values used for the Bulk Edit on Upload form.

mla_upload_bulk_edit_form_values(array $page_values) 
static
since 2.20

Arguments

$page_values

array

[ parameter_name => parameter_value ] pairs

Adds translation update message for display at the top of the Edit Media screen

post_updated_messages( $messages) : array
static
since 2.11

Arguments

$messages

Response

array

updated messages

Force "All languages" mode for IPTC/EXIF mapping, which uses mla_get_shortcode_attachments

pre_wpml_is_translated_post_type_filter( $translated,  $type) 
static
since 2.20

Arguments

$translated

$type

Copies taxonomy terms from the source item to the new translated item

wpml_media_create_duplicate_attachment( $attachment_id,  $duplicated_attachment_id) 
static
since 2.11

Arguments

$attachment_id

$duplicated_attachment_id

Properties

Custom Field Map during Bulk Edit, "Upload New Media"

bulk_edit_map : array
static
since
var

[ id ] => field name

Type(s)

array

Bulk Edit parameters during "Upload New Media"

bulk_edit_request : array
static
since
var

[ field ] => new value

Type(s)

array

Current mapping rule for term creation

current_mapping_rule : array
static
since
var

mapping rule

Type(s)

array

Taxonomy terms and translations

relevant_terms : array
static

NOTE: WPML uses term_taxonomy_id as the "element_id" in its translations; Polylang uses term_id as the "element_id".

since
var

[ $term_taxonomy_id ] => array( $term, $details, $translations )

Type(s)

array

Taxonomy terms for the current item translation in the database

existing_terms : array
static
since
var

['element_id'] => $post_id; [ 'language_code' ] => WPML item language or default language, e.g., 'en' [ 'slug' ] => Polylang item language or default language, e.g., 'en' [ $language ][ translation_details ] [ $language ][ $taxonomy ][ $term_taxonomy_id ] => $term

Type(s)

array

Replacement tax_input values in all languages

tax_input : array
static
since
var

['tax_input_post_id'] => $post_id; [ $language ][ $taxonomy ] => array of integer term_ids (hierarchical) [ $language ][ $taxonomy ] => comma-delimited string of term names (flat)

Type(s)

array

WPML Option settings to restore when always_translate_media is changed in Bulk Edit on Upload area

wpml_content_defaults : array
static
since
var

NULL or ( always_translate_media, duplicate_media, duplicate_featured )

Type(s)

array

Duplicates created during media upload

duplicate_attachments : array
static
since
var

[ $post_id ] => $language;

Type(s)

array

True while fixing and mapping duplicates

updating_duplicates : boolean
static
since
var

Type(s)

boolean

$mla_language_option_definitions defines the language-specific database options and admin page areas for setting/updating them

mla_language_option_definitions : 
static

The array must be populated at runtime in MLA_WPML::mla_localize_language_option_definitions(), because localization calls cannot be placed in the "public static" array definition itself.

Each option is defined by an array with the elements documented in class-mla-options.php

Type(s)