Files
car-t-t/inc/helpers.php
T
zhs123 43272d25eb refactor: 死代码清理 + CDN SRI 加固 + 面包屑组件 + 代码规范文档
- 删除 7 个死模板文件 (products/services/quality/process/projects/customization/rfq)
- 删除 13 个旧图片素材 (jpg/png/webp)
- 新增 CDN SRI 完整性校验 (Bootstrap CSS/JS)
- 新增面包屑导航模板组件
- 新增代码清理方案与代码审查标准文档
- 更新 README.md
2026-07-24 17:48:00 +08:00

89 lines
3.3 KiB
PHP

<?php
/** Reusable store theme helpers. @package Fragrance_Trade */
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
function fragrance_trade_get_default( $key, $fallback = '' ) {
$defaults = fragrance_trade_defaults();
return array_key_exists( $key, $defaults ) ? $defaults[ $key ] : $fallback;
}
function fragrance_trade_get_mod( $key, $fallback = null ) {
$default = null === $fallback ? fragrance_trade_get_default( $key ) : $fallback;
return get_theme_mod( $key, $default );
}
function fragrance_trade_asset_uri( $relative_path ) {
return trailingslashit( get_template_directory_uri() ) . 'assets/' . ltrim( $relative_path, '/' );
}
function fragrance_trade_image_uri( $setting, $fallback_filename ) {
$image = fragrance_trade_get_mod( $setting, '' );
return $image ? $image : fragrance_trade_asset_uri( 'images/' . $fallback_filename );
}
function fragrance_trade_show_section( $setting ) {
return (bool) fragrance_trade_get_mod( $setting, true );
}
function fragrance_trade_whatsapp_number() {
return preg_replace( '/[^0-9]/', '', (string) fragrance_trade_get_mod( 'whatsapp', '' ) );
}
function fragrance_trade_inquiry_email() {
$email = sanitize_email( fragrance_trade_get_mod( 'inquiry_email', '' ) );
return is_email( $email ) ? $email : sanitize_email( get_option( 'admin_email' ) );
}
function fragrance_trade_get_inquiry_url( $project = '' ) {
$message = $project
? sprintf( __( '您好,我想咨询 %s 的贴膜服务。', 'fragrance-trade' ), $project )
: __( '您好,我想咨询汽车贴膜服务。', 'fragrance-trade' );
$number = fragrance_trade_whatsapp_number();
if ( $number ) {
return add_query_arg( 'text', $message, 'https://wa.me/' . $number );
}
return 'mailto:' . antispambot( fragrance_trade_inquiry_email() ) . '?subject=' . rawurlencode( __( '汽车贴膜预约咨询', 'fragrance-trade' ) ) . '&body=' . rawurlencode( $message );
}
function fragrance_trade_get_notice() {
if ( empty( $_GET['fragrance_notice'] ) ) {
return '';
}
return sanitize_key( wp_unslash( $_GET['fragrance_notice'] ) );
}
function fragrance_trade_notice_message( $code ) {
$messages = array(
'success' => __( '感谢您的提交,预约需求已发送。', 'fragrance-trade' ),
'invalid' => __( '请检查必填项后重新提交。', 'fragrance-trade' ),
'rate_limited' => __( '请稍候片刻再重新提交。', 'fragrance-trade' ),
'mail_failed' => __( '发送失败,请通过邮件或 WhatsApp 联系我们。', 'fragrance-trade' ),
);
return isset( $messages[ $code ] ) ? $messages[ $code ] : '';
}
add_action(
'admin_notices',
function () {
$locations = get_nav_menu_locations();
$menu_id = isset( $locations['primary'] ) ? $locations['primary'] : 0;
if ( ! $menu_id ) {
return;
}
$items = wp_get_nav_menu_items( $menu_id );
$count = $items ? count( $items ) : 0;
if ( $count < 2 ) {
printf(
'<div class="notice notice-warning is-dismissible"><p><strong>%s</strong> %s <a href="%s">%s</a></p></div>',
esc_html__( '主导航菜单项过少', 'fragrance-trade' ),
esc_html__( '手机端和桌面端导航目前只显示一个菜单项。请前往后台添加:首页、服务项目、案例作品、关于门店、常见问题、预约联系。', 'fragrance-trade' ),
esc_url( admin_url( 'nav-menus.php' ) ),
esc_html__( '编辑菜单', 'fragrance-trade' )
);
}
}
);