//
// /?php }
// add_action("register_form", "display_register_captcha");
// function verify_registration_captcha($errors, $sanitized_user_login, $user_email)
// {
// if (isset($_POST['g-recaptcha-response'])) {
// $recaptcha_secret = "6LcRLbAaAAAAAGF5EHpJuwfqX4BXMGHYE4pCBnWz";
// $response = wp_remote_get("https://www.google.com/recaptcha/api/siteverify?secret=" . $recaptcha_secret . "&response=" . $_POST['g-recaptcha-response']);
// $response = json_decode($response["body"], true);
// if (true == $response["success"]) {
// return $errors;
// } else {
// $errors->add("Captcha Invalid", __("ОШИБКА: Вы бот!"));
// }
// } else {
// $errors->add("Captcha Invalid", __("ОШИБКА: You are a bot. If not then enable JavaScript"));
// }
// return $errors;
// }
// add_filter("registration_errors", "verify_registration_captcha", 10, 3);
//include js for subdomain pages index
add_action('acf/admin_enqueue_scripts', 'subdomainPageIndexing');
function subdomainPageIndexing()
{
wp_enqueue_script('subdomain_index_script', get_stylesheet_directory_uri() . '/acf/assets/js/subdomain-index-pages.js', array('jquery'), '1.0.0', true);
}
// test code of wp-super cach
// test code of wp-super cach end
add_filter('wp_nav_menu_items', 'hide_menu_items_on_specific_pages', 10, 2);
function hide_menu_items_on_specific_pages($items, $args)
{
// Укажите ID страниц (или несколько ID), на которых вы хотите скрыть определенные пункты меню
$excluded_pages = array(528, 6628, 6655);
// Проверяем, находимся ли мы на одной из указанных страниц
if (in_array(get_the_ID(), $excluded_pages)) {
// Указываем классы пунктов меню, которые вы хотите скрыть
$classes_to_hide = array('menu-item-184'); // Замените на классы ваших пунктов меню
// Удаляем из строки $items пункты с указанными классами
foreach ($classes_to_hide as $class) {
$items = preg_replace('/]* class="[^"]*' . $class . '[^"]*"[^>]*>.*?<\/li>/i', '', $items);
}
// Добавляем CSS правило для скрытия элемента с классом 'header-phones'
$style_header_phones = '';
$items .= $style_header_phones;
// Добавляем CSS правило для скрытия элемента с классом 'footer_contacts'
$style_footer_contacts = '';
$items .= $style_footer_contacts;
// Добавляем CSS правило для скрытия элемента с классом 'footer-link-soc'
$footer_link_soc = '';
$items .= $footer_link_soc;
// Добавляем CSS правило для скрытия элемента с классом 'group-soc-link'
$group_soc_link = '';
$items .= $group_soc_link;
// Добавляем CSS правило для скрытия элемента с классом 'group-link-new'
$group_link_new = '';
$items .= $group_link_new;
// Добавляем CSS правило для скрытия элемента с классом 'footer-social'
$footer_social = '';
$items .= $footer_social;
// Добавляем CSS правило для скрытия элемента с классом 'jdiv'
$jdiv = '';
$items .= $jdiv;
}
return $items;
}
// Function to set current page ID as a cookie
function set_current_page_id_cookie()
{
global $post;
// Check if we're on a single page or post
if (is_singular() && isset($post)) {
$current_page_id = $post->ID;
// Set the cookie
setcookie('current_page_id', $current_page_id, time() + 3600, COOKIEPATH, COOKIE_DOMAIN);
}
}
add_action('wp', 'set_current_page_id_cookie');
// test
global $wpdb;
// Function to retrieve ACF field value by post ID and meta key
function get_infoblock_price_includes($infoblock_name)
{
global $wpdb;
// Retrieve the post object by title (infoblock name)
$infoblock_post = get_page_by_title($infoblock_name, OBJECT, 'infoblock');
// Check if the post exists
if (!$infoblock_post) {
return null; // Infoblock not found
}
// Get the post ID of the infoblock
$infoblock_id = $infoblock_post->ID;
// Define the meta key (which is the field name)
$meta_key = 'infoblock_price_includes_price';
// Query the database to get the meta value
$price_includes = $wpdb->get_var(
$wpdb->prepare(
"SELECT meta_value FROM {$wpdb->postmeta} WHERE post_id = %d AND meta_key = %s",
$infoblock_id,
$meta_key
)
);
//
$meta_key = 'infoblock_price_includes_price_old';
// Query the database to get the meta value
$price_includes_old = $wpdb->get_var(
$wpdb->prepare(
"SELECT meta_value FROM {$wpdb->postmeta} WHERE post_id = %d AND meta_key = %s",
$infoblock_id,
$meta_key
)
);
// Check if the value is serialized and unserialize it if necessary
if ($price_includes && is_serialized($price_includes)) {
$price_includes = unserialize($price_includes);
}
if ($price_includes_old && is_serialized($price_includes_old)) {
$price_includes_old = unserialize($price_includes_old);
}
$arr_prices = array();
array_push($arr_prices, $price_includes, $price_includes_old);
return $arr_prices;
}
// test end
// function enqueue_admin_scripts($hook)
// {
// wp_enqueue_script('acf-lazy-load', get_template_directory_uri() . '/js/acf-lazy-load.js', [], null, true);
// wp_localize_script(
// 'acf-lazy-load',
// 'adminData',
// array(
// 'ajaxUrl' => admin_url('admin-ajax.php')
// )
// );
// }
// add_action('admin_enqueue_scripts', 'enqueue_admin_scripts');
// // Добавляем обработчик AJAX
// function load_more_data()
// {
// // Получите номер страницы из запроса
// $page = isset($_GET['page']) ? intval($_GET['page']) : 1;
// var_dump($page);
// // Здесь вы можете выполнять запрос к базе данных или другим источникам данных
// $data = array(
// array('text' => 'Данные страницы ' . $page . ' - 1'),
// array('text' => 'Данные страницы ' . $page . ' - 2'),
// array('text' => 'Данные страницы ' . $page . ' - 3')
// );
// // Отправляем данные обратно в формате JSON
// wp_send_json($data);
// }
// add_action('wp_ajax_load_more_data', 'load_more_data');
// add_action('wp_ajax_nopriv_load_more_data', 'load_more_data');
// Функция для подсчета количества слов
function get_word_count($content) {
// Удаляем HTML-теги и считаем слова
$clean_content = strip_tags($content);
$words = preg_split('/\s+/', $clean_content, -1, PREG_SPLIT_NO_EMPTY);
return count($words);
}
// Функция для расчета времени на прочтение
function get_reading_time($content) {
$word_count = get_word_count($content);
$words_per_minute = 200; // Средняя скорость чтения
$reading_time = ceil($word_count / $words_per_minute);
return $reading_time;
}
// Функция для получения информации о чтении
function get_reading_info($content) {
$word_count = get_word_count($content);
$reading_time = get_reading_time($content);
return array(
'word_count' => $word_count,
'reading_time' => $reading_time
);
}
?>
Warning: Cannot modify header information - headers already sent by (output started at /var/www/www-root/data/www/nopss.ru/wp-content/themes/nopss/functions.php:2289) in /var/www/www-root/data/www/nopss.ru/wp-includes/pluggable.php on line 1435
Warning: Cannot modify header information - headers already sent by (output started at /var/www/www-root/data/www/nopss.ru/wp-content/themes/nopss/functions.php:2289) in /var/www/www-root/data/www/nopss.ru/wp-includes/pluggable.php on line 1438