Menu

Admin Interface

Relevant source files

The Admin Interface system provides WordPress administrators with tools to link content across language sites, manage multilingual taxonomies, and visualize translation status throughout the WordPress admin area. This system integrates deeply with WordPress admin screens to provide seamless multilingual content management workflows.

For information about the frontend display of language switchers, see Frontend Display. For details about the underlying content linking mechanisms, see Content Management.

System Overview

The admin interface consists of several coordinated subsystems that enhance various WordPress admin screens with multilingual functionality:

Sources: includes/MslsMetaBox.php includes/MslsPostTag.php includes/MslsCustomColumn.php includes/MslsMain.php

All admin components inherit from MslsMain, which provides shared functionality for nonce verification, input processing, and cross-site data synchronization. The system integrates with WordPress through standard action and filter hooks, ensuring compatibility with the existing admin interface.

Meta Box System

Post Editor Integration

The MslsMetaBox class adds translation linking functionality directly to the WordPress post editor. It provides two rendering modes based on the activate_autocomplete option:

Sources: includes/MslsMetaBox.php17-26 includes/MslsMetaBox.php108-148

The meta box system registers itself during WordPress initialization and provides:

ComponentPurposeKey Methods
MslsMetaBox::init()Registers WordPress hooksadd_meta_boxes, save_post, trashed_post
render_select()Classic dropdown interfaceUses wp_dropdown_pages() for hierarchical posts
render_input()Autocomplete interfaceAJAX-powered search with suggest() endpoint
set()Saves translation linksValidates nonce and user capabilities

AJAX Suggestion System

The autocomplete interface relies on an AJAX endpoint that searches for linkable content across sites:

Sources: includes/MslsMetaBox.php34-68 includes/MslsMetaBox.php77-102

The suggest() method handles cross-site content search by:

  1. Switching to the target blog using switch_to_blog()
  2. Executing filtered get_posts() queries with search parameters
  3. Building JSON responses with post IDs and titles
  4. Restoring the original blog context

Admin List Table Enhancements

Translation Status Columns

The MslsCustomColumn class adds visual indicators to WordPress admin list tables showing translation status across all language sites:

Sources: includes/MslsCustomColumn.php15-34 includes/MslsCustomColumn.php43-109

The column system displays:

  • Header Row: Language flags or labels representing each site in the network
  • Content Rows: Action icons (edit/create) for each post's translation status
  • Smart Links: Direct links to edit existing translations or create new ones

List Filtering System

The MslsCustomFilter class adds dropdown filters to admin list tables for finding untranslated content:

Sources: includes/MslsCustomFilter.php43-59 includes/MslsCustomFilter.php68-84

Taxonomy Management Interface

Taxonomy Term Linking

The MslsPostTag system provides interfaces for linking taxonomy terms across language sites. It supports both autocomplete and classic selection modes:

Sources: includes/MslsPostTag.php74-86 includes/MslsPostTag.php94-146

Interface Variations

ModeClassInterface ElementsData Source
AutocompleteMslsPostTagText inputs with AJAX searchsuggest() endpoint
ClassicMslsPostTagClassicHTML select dropdownsget_terms() queries

Both modes provide:

  • Add Forms: Fields for linking new terms during creation
  • Edit Forms: Fields for managing existing term relationships
  • Language Icons: Visual indicators showing link status per language
  • Cross-site Switching: Automatic blog context switching for data retrieval

Sources: includes/MslsPostTag.php23-72 includes/MslsPostTagClassic.php22-152

Admin Icon System

The MslsAdminIcon class generates consistent visual elements throughout the admin interface:

Sources: includes/MslsAdminIcon.php90-97 includes/MslsAdminIcon.php227-256

Icon Types and Rendering

TypePurposeOutput Format
flagVisual language indicatorSVG flag icons with CSS classes
labelText-based language indicatorLanguage name badges
actionEdit/create actionsWordPress Dashicons (edit/plus)

The icon system automatically generates appropriate links:

  • Edit Links: Direct to existing translation edit screens
  • Create Links: Direct to new content forms with pre-linking parameters
  • Context Switching: Handles cross-site admin URL generation

Sources: includes/MslsAdminIcon.php206-220 includes/MslsAdminIcon.php263-286