'arrow-icon-details', 'label' => __( 'Arrow icon', 'twentytwentyfour' ), /* * Styles for the custom Arrow icon style of the Details block */ 'inline_style' => ' .is-style-arrow-icon-details { padding-top: var(--wp--preset--spacing--10); padding-bottom: var(--wp--preset--spacing--10); } .is-style-arrow-icon-details summary { list-style-type: "\2193\00a0\00a0\00a0"; } .is-style-arrow-icon-details[open]>summary { list-style-type: "\2192\00a0\00a0\00a0"; }', ) ); register_block_style( 'core/post-terms', array( 'name' => 'pill', 'label' => __( 'Pill', 'twentytwentyfour' ), /* * Styles variation for post terms * https://github.com/WordPress/gutenberg/issues/24956 */ 'inline_style' => ' .is-style-pill a, .is-style-pill span:not([class], [data-rich-text-placeholder]) { display: inline-block; background-color: var(--wp--preset--color--base-2); padding: 0.375rem 0.875rem; border-radius: var(--wp--preset--spacing--20); } .is-style-pill a:hover { background-color: var(--wp--preset--color--contrast-3); }', ) ); register_block_style( 'core/list', array( 'name' => 'checkmark-list', 'label' => __( 'Checkmark', 'twentytwentyfour' ), /* * Styles for the custom checkmark list block style * https://github.com/WordPress/gutenberg/issues/51480 */ 'inline_style' => ' ul.is-style-checkmark-list { list-style-type: "\2713"; } ul.is-style-checkmark-list li { padding-inline-start: 1ch; }', ) ); register_block_style( 'core/navigation-link', array( 'name' => 'arrow-link', 'label' => __( 'With arrow', 'twentytwentyfour' ), /* * Styles for the custom arrow nav link block style */ 'inline_style' => ' .is-style-arrow-link .wp-block-navigation-item__label:after { content: "\2197"; padding-inline-start: 0.25rem; vertical-align: middle; text-decoration: none; display: inline-block; }', ) ); register_block_style( 'core/heading', array( 'name' => 'asterisk', 'label' => __( 'With asterisk', 'twentytwentyfour' ), 'inline_style' => " .is-style-asterisk:before { content: ''; width: 1.5rem; height: 3rem; background: var(--wp--preset--color--contrast-2, currentColor); clip-path: path('M11.93.684v8.039l5.633-5.633 1.216 1.23-5.66 5.66h8.04v1.737H13.2l5.701 5.701-1.23 1.23-5.742-5.742V21h-1.737v-8.094l-5.77 5.77-1.23-1.217 5.743-5.742H.842V9.98h8.162l-5.701-5.7 1.23-1.231 5.66 5.66V.684h1.737Z'); display: block; } /* Hide the asterisk if the heading has no content, to avoid using empty headings to display the asterisk only, which is an A11Y issue */ .is-style-asterisk:empty:before { content: none; } .is-style-asterisk:-moz-only-whitespace:before { content: none; } .is-style-asterisk.has-text-align-center:before { margin: 0 auto; } .is-style-asterisk.has-text-align-right:before { margin-left: auto; } .rtl .is-style-asterisk.has-text-align-left:before { margin-right: auto; }", ) ); } endif; add_action( 'init', 'twentytwentyfour_block_styles' ); /** * Enqueue block stylesheets. */ if ( ! function_exists( 'twentytwentyfour_block_stylesheets' ) ) : /** * Enqueues custom block stylesheets. * * @since Twenty Twenty-Four 1.0 * @return void */ function twentytwentyfour_block_stylesheets() { /** * The wp_enqueue_block_style() function allows us to enqueue a stylesheet * for a specific block. These will only get loaded when the block is rendered * (both in the editor and on the front end), improving performance * and reducing the amount of data requested by visitors. * * See https://make.wordpress.org/core/2021/12/15/using-multiple-stylesheets-per-block/ for more info. */ wp_enqueue_block_style( 'core/button', array( 'handle' => 'twentytwentyfour-button-style-outline', 'src' => get_parent_theme_file_uri( 'assets/css/button-outline.css' ), 'ver' => wp_get_theme( get_template() )->get( 'Version' ), 'path' => get_parent_theme_file_path( 'assets/css/button-outline.css' ), ) ); } endif; add_action( 'init', 'twentytwentyfour_block_stylesheets' ); /** * Register pattern categories. */ if ( ! function_exists( 'twentytwentyfour_pattern_categories' ) ) : /** * Registers pattern categories. * * @since Twenty Twenty-Four 1.0 * @return void */ function twentytwentyfour_pattern_categories() { register_block_pattern_category( 'twentytwentyfour_page', array( 'label' => _x( 'Pages', 'Block pattern category', 'twentytwentyfour' ), 'description' => __( 'A collection of full page layouts.', 'twentytwentyfour' ), ) ); } endif; add_action( 'init', 'twentytwentyfour_pattern_categories' ); /** * Use a standalone PHP template for the page slug "test1". * * @since Twenty Twenty-Four 1.0 * * @param string $template Resolved template path. * @return string */ function twentytwentyfour_test1_template( $template ) { if ( ! is_page( 'test1' ) ) { return $template; } $custom_template = get_theme_file_path( 'page-test1.php' ); if ( file_exists( $custom_template ) ) { return $custom_template; } return $template; } add_filter( 'template_include', 'twentytwentyfour_test1_template' ); /** * Use a lightweight custom template for the WooCommerce checkout page. * * @since Twenty Twenty-Four 1.0 * * @param string $template Resolved template path. * @return string */ function twentytwentyfour_checkout_template( $template ) { if ( ! function_exists( 'is_checkout' ) || ! is_checkout() || is_order_received_page() ) { return $template; } $custom_template = get_theme_file_path( 'page-checkout.php' ); if ( file_exists( $custom_template ) ) { return $custom_template; } return $template; } add_filter( 'template_include', 'twentytwentyfour_checkout_template', 20 ); /** * Use a lightweight custom template for the WooCommerce cart page. * * @since Twenty Twenty-Four 1.0 * * @param string $template Resolved template path. * @return string */ function twentytwentyfour_cart_template( $template ) { if ( ! function_exists( 'is_cart' ) || ! is_cart() ) { return $template; } $custom_template = get_theme_file_path( 'page-cart.php' ); if ( file_exists( $custom_template ) ) { return $custom_template; } return $template; } add_filter( 'template_include', 'twentytwentyfour_cart_template', 20 ); /** * Enqueue standalone landing assets for the page slug "test1". * * @since Twenty Twenty-Four 1.0 * @return void */ function twentytwentyfour_test1_assets() { $use_test1_assets = is_page( 'test1' ); if ( ! $use_test1_assets ) { return; } $css_file = ABSPATH . 'index3.css'; $js_file = ABSPATH . 'index3.js'; if ( is_page( 'test1' ) ) { wp_dequeue_style( 'global-styles' ); wp_dequeue_style( 'wp-block-library' ); wp_dequeue_style( 'wp-block-library-theme' ); wp_dequeue_style( 'classic-theme-styles' ); } wp_enqueue_style( 'twentytwentyfour-test1-fonts', 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;700;800&display=swap', array(), null ); if ( file_exists( $css_file ) ) { wp_enqueue_style( 'twentytwentyfour-test1-style', home_url( '/index3.css' ), array( 'twentytwentyfour-test1-fonts' ), (string) filemtime( $css_file ) ); } if ( is_page( 'test1' ) && file_exists( $js_file ) ) { wp_enqueue_script( 'twentytwentyfour-test1-script', home_url( '/index3.js' ), array(), (string) filemtime( $js_file ), true ); if ( class_exists( 'WooCommerce' ) ) { wp_localize_script( 'twentytwentyfour-test1-script', 'test1WooCommerce', array( 'addToCartUrl' => WC_AJAX::get_endpoint( 'add_to_cart' ), 'cartUrl' => wc_get_cart_url(), 'checkoutUrl' => wc_get_checkout_url(), ) ); } } } add_action( 'wp_enqueue_scripts', 'twentytwentyfour_test1_assets', 100 ); /** * Enqueue shared test1 header/footer styles for cart and checkout. * * @since Twenty Twenty-Four 1.0 * @return void */ function twentytwentyfour_test1_shared_shell_assets() { if ( ! ( ( function_exists( 'is_checkout' ) && is_checkout() && ! is_order_received_page() ) || ( function_exists( 'is_cart' ) && is_cart() ) ) ) { return; } $shared_shell_css = get_theme_file_path( 'assets/css/test1-shared-shell.css' ); wp_enqueue_style( 'twentytwentyfour-test1-fonts', 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;700;800&display=swap', array(), null ); if ( file_exists( $shared_shell_css ) ) { wp_enqueue_style( 'twentytwentyfour-test1-shared-shell-style', get_theme_file_uri( 'assets/css/test1-shared-shell.css' ), array( 'twentytwentyfour-test1-fonts' ), (string) filemtime( $shared_shell_css ) ); } } add_action( 'wp_enqueue_scripts', 'twentytwentyfour_test1_shared_shell_assets', 110 ); /** * Free shipping threshold for custom notices. * * @return float */ function twentytwentyfour_water_delivery_free_shipping_threshold() { return (float) apply_filters( 'twentytwentyfour_water_delivery_free_shipping_threshold', 1000 ); } /** * Bottle deposit fee when no exchange is selected. * * @return float */ function twentytwentyfour_water_delivery_deposit_fee() { return (float) apply_filters( 'twentytwentyfour_water_delivery_deposit_fee', 250 ); } /** * Check whether a dedicated SEO plugin is active. * * @return bool */ function twentytwentyfour_has_seo_plugin() { return defined( 'WPSEO_VERSION' ) || defined( 'RANK_MATH_VERSION' ); } /** * Get long-form SEO text for cart and checkout pages. * * @param string $context Page context. * @return string */ function twentytwentyfour_water_delivery_seo_copy( $context ) { if ( 'checkout' === $context ) { return 'Оформление заказа воды в Севастополе должно быть быстрым и понятным, особенно когда вода нужна домой или в офис без лишних звонков и долгих подтверждений. На этой странице вы можете за несколько минут завершить заказ воды 19 литров, питьевой и минеральной воды, указать удобный адрес и выбрать подходящий способ оплаты. Мы доставляем воду в Гагаринский район, Ленинский район, Нахимовский район, Балаклаву и другие части города, поэтому оформить доставку питьевой воды можно в удобном для вас формате. Если вам нужна вода на дом в Севастополе для семьи, кухни или кулера, просто проверьте состав заказа и заполните контакты. Для компаний и коммерческих объектов доступен заказ воды в офис с подтверждением интервала и возможностью безналичной оплаты. Такой сценарий помогает быстро заказать воду 19 литров с доставкой, избежать ошибок в адресе и сразу передать нам всю информацию по подъезду, этажу и таре. Мы стараемся сделать оформление заказа удобным, чтобы доставка воды Севастополь воспринималась как простой сервис на каждый день, а не как долгий процесс с лишними шагами.'; } return 'Корзина на сайте доставки воды в Севастополе помогает быстро проверить состав заказа перед оформлением и убедиться, что в нем уже есть все нужные позиции: вода 19 литров, питьевая вода для кухни, минеральная вода для гостей, офиса или коммерческого помещения. Здесь можно изменить количество бутылей, удалить лишние товары и сразу увидеть итоговую сумму, стоимость доставки и дополнительные условия заказа. Такой формат особенно удобен для клиентов, которым нужна вода на дом в Севастополе без долгого оформления и повторных уточнений по телефону. Если вы заказываете доставку питьевой воды регулярно, корзина позволяет быстро собрать привычный набор и сразу перейти к следующему шагу. Мы доставляем заказы по Гагаринскому району, Ленинскому району, Нахимовскому району, Балаклаве и другим частям города, поэтому заказать воду 19 литров или дополнительные товары для кулера можно в одном месте. Перед оформлением вы можете проверить объем воды, количество бутылей и итоговую стоимость, а затем перейти на страницу подтверждения заказа. Такой подход делает доставку воды Севастополь удобной и понятной как для частных клиентов, так и для офисов, кафе, салонов и небольших компаний.'; } /** * Output progress indicator for cart and checkout pages. * * @param string $current Current step. * @return void */ function twentytwentyfour_water_delivery_progress_markup( $current ) { $steps = array( 'cart' => __( 'Корзина', 'twentytwentyfour' ), 'checkout' => __( 'Оформление', 'twentytwentyfour' ), 'done' => __( 'Готово', 'twentytwentyfour' ), ); ?>