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

package Media Library Assistant
since 2.11

 Methods

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

admin_init() : void

since 2.11

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

attachment_fields_to_save(\WP_Post $post, array $attachment) 

since 2.13

Parameters

$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(integer $post_id) 

since 2.11

Parameters

$post_id

integer

ID of the current post

Initialization function, similar to __construct()

initialize() : void

This function contains add_action and add_filter calls.

since 2.11

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

mla_get_options_tablist(array | false $results, array $mla_tablist, string | NULL $tab) : array

since 2.11

Parameters

$results

arrayfalse

The entire tablist ( $tab = NULL ), a single tab entry or false if not found/not allowed.

$mla_tablist

array

The entire default tablist

$tab

stringNULL

tab slug for single-element return or NULL to return entire tablist

Returns

arrayupdated tablist or single tab element

MLA Tag Cloud Query Clauses

mla_get_terms_clauses(array $clauses) : array

Adds language-specific clauses to filter the cloud terms.

since 2.11

Parameters

$clauses

array

SQL clauses ( 'fields', 'join', 'where', 'order', 'orderby', 'limits' )

Returns

arrayupdated SQL clauses

MLA Tag Cloud Query Arguments

mla_get_terms_query_arguments(array $all_query_parameters) : array

Saves [mla_tag_cloud] query parameters for use in MLA_WPML::mla_get_terms_clauses.

since 2.11
uses \global\MLA_WPML::$all_query_parameters

Parameters

$all_query_parameters

array

shortcode arguments merged with attachment selection defaults, so every possible parameter is present

Returns

arrayupdated attachment query arguments

Captures the Bulk Edit parameters during "Upload New Media"

mla_list_table_bulk_action_initial_request(array $request, string $bulk_action, array $custom_field_map) : array

since 2.11

Parameters

$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 ]

Returns

arrayupdated 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

since 2.11

Parameters

$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 ]

Returns

arrayupdated 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) 

since 2.11

Parameters

$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

since 2.11

Parameters

$item_content

array

NULL, to indicate no handler.

$post_id

integer

the affected attachment.

Returns

objectupdated $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

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

since 2.11

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

mla_media_modal_begin_update_compat_fields(object $post) 

since 2.11

Parameters

$post

object

the current post

Applies Term Synchronization after the Media Manager Modal Window taxonomy updates

mla_media_modal_end_update_compat_fields(string $results, array $taxonomies, object $post) 

since 2.11

Parameters

$results

string

HTML markup for the taxonomy meta box elements

$taxonomies

array

supported taxonomy objects

$post

object

current post object

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

mla_media_modal_update_compat_fields_terms(array $terms, string $key, object $value, integer $post_id) 

since 2.11

Parameters

$terms

array

assigned term id/name values

$key

string

taxonomy slug

$value

object

taxonomy object

$post_id

integer

current post ID

Renders the Settings/Media Library Assistant "Language" tab

mla_render_language_tab() : array

since 2.11

Returns

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

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

post_updated_messages(array $messages) : array

since 2.11

Parameters

$messages

array

messages for the Edit screen

Returns

arrayupdated messages

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

wpml_media_create_duplicate_attachment(integer $attachment_id, integer $duplicated_attachment_id) 

since 2.11

Parameters

$attachment_id

integer

ID of the source item

$duplicated_attachment_id

integer

ID of the new item

Adds a term and its translations to $relevant_terms

_add_relevant_term(object $term, object $translations) 

since 2.11
uses \global\MLA_WPML::$relevant_terms

Parameters

$term

object

WordPress term object

$translations

object

Sitepress translations object; optional

Compute Term Synchronization replacement $tax_inputs

_apply_synch_input(string $language) : array

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

since 2.11
uses \global\MLA_WPML::$existing_terms

Parameters

$language

string

the target translation code

Returns

array$tax_inputs for Term Synchronization

Filter the $tax_input array to a specific language

_apply_tax_input(integer $post_id, string $post_language) : array

since 2.11
uses \global\MLA_WPML::$tax_input
uses \global\MLA_WPML::$existing_terms

Parameters

$post_id

integer

ID of the post to be updated

$post_language

string

explicit language_code; optional

Returns

arraylanguage-specific $tax_inputs

Build the $existing_terms array

_build_existing_terms(integer $post_id) 

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 \global\MLA_WPML::$existing_terms
uses \global\MLA_WPML::$relevant_terms

Parameters

$post_id

integer

ID of the current post

Build the $tax_input array

_build_tax_input(integer $post_id, array $tax_inputs, array $tax_actions) 

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 \global\MLA_WPML::$tax_input
uses \global\MLA_WPML::$existing_terms

Parameters

$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, boolean $test_only) 

since 2.11
uses \global\MLA_WPML::$relevant_terms

Parameters

$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

Delete saved settings, restoring default values

_reset_language_settings() : array

since 2.11

Returns

arrayMessage(s) reflecting the results of the operation

Save Language settings to the options table

_save_language_settings() : array

since 2.11
uses \global\$_REQUEST

Returns

arrayMessage(s) reflecting the results of the operation

Update the $existing_terms array

_update_existing_terms(integer $post_id) : array

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 \global\MLA_WPML::$existing_terms
uses \global\MLA_WPML::$relevant_terms

Parameters

$post_id

integer

ID of the current post

Returns

array( taxonomy => term assignments ) before the update

 Properties

 

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

$mla_language_option_definitions 

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

 

Save the query arguments

$all_query_parameters : array

since 2.11
 

Duplicates created during media upload

$duplicate_attachments : array

since 2.11
 

Taxonomy terms for the current item translation in the database

$existing_terms : array

since 2.11
 

Taxonomy terms and translations

$relevant_terms : array

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

since 2.11
 

Replacement tax_input values in all languages

$tax_input : array

since 2.11
 

Bulk Edit parameters during "Upload New Media"

$upload_bulk_edit_args : array

since 2.11
 

Custom Field Map during "Upload New Media"

$upload_bulk_edit_map : array

since 2.11