50 lines
1.3 KiB
PHP
50 lines
1.3 KiB
PHP
<?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' );
|
|
}
|
|
}
|
|
}
|