index.php
1.09 KB
<?php
/**
* In charge of loading the frontend polyfill for timeline block
* accent color fill for iOS devices
*/
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! function_exists( 'stackable_load_timeline_ios_frontend_polyfill' ) ) {
function stackable_load_timeline_ios_frontend_polyfill( $block_content, $block ) {
// Add class stk-block-timeline__ios-polyfill to $block_content
return preg_replace( '/stk-block-timeline/', 'stk-block-timeline stk-block-timeline__ios-polyfill', $block_content, 1 );
}
$user_agent = ! empty( $_SERVER['HTTP_USER_AGENT'] ) ? $_SERVER['HTTP_USER_AGENT'] : '';
// Add polyfill if device is iPhone/iPad
// Include Safari because by default the User Agent in Safari on iPadOS is same on MacOS
// Reference: https://developer.apple.com/forums/thread/119186
if ( ! empty( $user_agent ) && ( stripos( $user_agent, 'iPhone' ) !== false || stripos( $user_agent, 'iPad' ) !== false || stripos( $user_agent, 'Safari/' ) !== false ) ) {
add_filter( 'render_block_stackable/timeline', 'stackable_load_timeline_ios_frontend_polyfill', 10, 2 );
}
}