<?php /** * Multisite Language Switcher integration class file. * * @package Activitypub */ namespace Activitypub\Integration; use Activitypub\Collection\Outbox; /** * Compatibility with the Multisite Language Switcher plugin. * * @see https://github.com/lloc/Multisite-Language-Switcher/ */ class Multisite_Language_Switcher { /** * Initialize the class, registering WordPress hooks. */ public static function init() { \add_action( 'save_post', array( self::class, 'ignore_outbox_post' ), 9, 2 ); \add_action( 'save_post', array( self::class, 'unignore_outbox_post' ), 11, 2 ); } /** * Short-circuit saving Multisite Language Switcher data for the Outbox post type. * * @param int $post_id The post id. * @param WP_Post $post The post object. */ public static function ignore_outbox_post( $post_id, $post ) { if ( Outbox::POST_TYPE === $post->post_type ) { \add_action( 'msls_main_save', '__return_null' ); } } /** * Remove short-circuit for Multisite Language Switcher data. * * @param int $post_id The post id. * @param WP_Post $post The post object. */ public static function unignore_outbox_post( $post_id, $post ) { if ( Outbox::POST_TYPE === $post->post_type ) { \remove_action( 'msls_main_save', '__return_null' ); } } }