refactor: 多页面门店重构 — CPT + 页面模板 + README 更新
- CPT: service(服务项目) + case(案例作品集) + case_type 分类 - 页面: 关于门店/常见问题/预约联系 + archive/single 模板 - 首页精简为 hero+trust+service-teaser+case-teaser+cta - 主题激活自动迁移 Customizer 产品数据为 service 文章 - 预约表单: nonce+honeypot+rate-limit, URL 参数预填服务 - 联系页: 门店地址/电话/营业时间/百度地图导航 - Customizer 面板改为门店语境(13 板块) - header CTA 改为预约, helpers 更新为门店口径 - README.md 全面更新为门店多页面架构文档
This commit is contained in:
+82
-32
@@ -1,47 +1,97 @@
|
||||
<?php
|
||||
/**
|
||||
* Booking / contact page template. Reuses the secure RFQ handler.
|
||||
* Template Name: 预约/联系
|
||||
* Contact page with store info and map navigation.
|
||||
*
|
||||
* @package Fragrance_Trade
|
||||
*/
|
||||
get_header();
|
||||
$notice = fragrance_trade_get_notice();
|
||||
$notice_message = fragrance_trade_notice_message( $notice );
|
||||
|
||||
$store_address = fragrance_trade_get_mod( 'store_address', '' );
|
||||
$store_phone = fragrance_trade_get_mod( 'store_phone', '' );
|
||||
$store_hours = fragrance_trade_get_mod( 'store_hours', '' );
|
||||
$whatsapp = fragrance_trade_whatsapp_number();
|
||||
$email = fragrance_trade_inquiry_email();
|
||||
|
||||
// Build Baidu Map navigation link from address
|
||||
$map_nav_url = 'https://api.map.baidu.com/geocoder?address='
|
||||
. rawurlencode( $store_address ?: '郑州经济技术开发区经开第二大街与经南五路交叉口向西50米路南59号' )
|
||||
. '&output=html&src=webapp';
|
||||
?>
|
||||
<main id="primary" class="site-main">
|
||||
<section id="rfq" class="b2b-section rfq-section">
|
||||
<section class="b2b-section contact-section">
|
||||
<div class="container">
|
||||
<div class="row g-5">
|
||||
<div class="col-lg-4">
|
||||
<p class="section-eyebrow"><?php esc_html_e( '预约到店', 'fragrance-trade' ); ?></p>
|
||||
<h2><?php esc_html_e( '预约您的贴膜服务', 'fragrance-trade' ); ?></h2>
|
||||
<p class="section-lead"><?php esc_html_e( '留下车型与需求,我们会尽快联系您,确认到店施工时间。', 'fragrance-trade' ); ?></p>
|
||||
<div class="rfq-direct">
|
||||
<h3><?php esc_html_e( '希望直接联系?', 'fragrance-trade' ); ?></h3>
|
||||
<a href="<?php echo esc_url( fragrance_trade_get_inquiry_url() ); ?>"><?php esc_html_e( '通过邮件或 WhatsApp 联系我们', 'fragrance-trade' ); ?></a>
|
||||
<div class="section-heading text-center mx-auto mb-5">
|
||||
<p class="section-eyebrow"><?php esc_html_e( '到店咨询', 'fragrance-trade' ); ?></p>
|
||||
<h2><?php esc_html_e( '联系与到店', 'fragrance-trade' ); ?></h2>
|
||||
<p class="section-lead"><?php esc_html_e( '欢迎直接到店或通过以下方式联系我们,预约您的贴膜服务。', 'fragrance-trade' ); ?></p>
|
||||
</div>
|
||||
|
||||
<div class="row g-4">
|
||||
<div class="col-lg-5">
|
||||
<div class="contact-info-card">
|
||||
<?php if ( $store_phone ) : ?>
|
||||
<div class="contact-info-item">
|
||||
<div class="contact-info-icon" aria-hidden="true">
|
||||
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/></svg>
|
||||
</div>
|
||||
<div class="contact-info-body">
|
||||
<h3><?php esc_html_e( '联系电话', 'fragrance-trade' ); ?></h3>
|
||||
<a href="tel:<?php echo esc_attr( preg_replace( '/[^0-9+]/', '', $store_phone ) ); ?>"><?php echo esc_html( $store_phone ); ?></a>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ( $whatsapp ) : ?>
|
||||
<div class="contact-info-item">
|
||||
<div class="contact-info-icon" aria-hidden="true">
|
||||
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413z"/></svg>
|
||||
</div>
|
||||
<div class="contact-info-body">
|
||||
<h3>WhatsApp</h3>
|
||||
<a href="<?php echo esc_url( fragrance_trade_get_inquiry_url() ); ?>" class="whatsapp-link" target="_blank" rel="noopener">
|
||||
<?php esc_html_e( '在线咨询', 'fragrance-trade' ); ?> ↗
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ( $store_hours ) : ?>
|
||||
<div class="contact-info-item">
|
||||
<div class="contact-info-icon" aria-hidden="true">
|
||||
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
|
||||
</div>
|
||||
<div class="contact-info-body">
|
||||
<h3><?php esc_html_e( '营业时间', 'fragrance-trade' ); ?></h3>
|
||||
<p><?php echo esc_html( $store_hours ); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="contact-info-item">
|
||||
<div class="contact-info-icon" aria-hidden="true">
|
||||
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"/><polyline points="22,6 12,13 2,6"/></svg>
|
||||
</div>
|
||||
<div class="contact-info-body">
|
||||
<h3><?php esc_html_e( '电子邮箱', 'fragrance-trade' ); ?></h3>
|
||||
<a href="mailto:<?php echo esc_attr( antispambot( $email ) ); ?>"><?php echo esc_html( antispambot( $email ) ); ?></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-8">
|
||||
<div class="rfq-form-card">
|
||||
<div class="fragrance-form-status" aria-live="polite">
|
||||
<?php if ( $notice_message ) : ?><p class="notice-<?php echo esc_attr( $notice ); ?>"><?php echo esc_html( $notice_message ); ?></p><?php endif; ?>
|
||||
|
||||
<div class="col-lg-7">
|
||||
<a href="<?php echo esc_url( $map_nav_url ); ?>" class="contact-map-card" target="_blank" rel="noopener">
|
||||
<div class="contact-map-icon" aria-hidden="true">
|
||||
<svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg>
|
||||
</div>
|
||||
<form action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>" method="post">
|
||||
<input type="hidden" name="action" value="fragrance_rfq">
|
||||
<?php wp_nonce_field( 'fragrance_rfq', 'fragrance_rfq_nonce' ); ?>
|
||||
<div class="row g-3">
|
||||
<div class="col-sm-6"><label for="rfq-name"><?php esc_html_e( '姓名 *', 'fragrance-trade' ); ?></label><input id="rfq-name" class="form-control" type="text" name="name" required maxlength="100" autocomplete="name"></div>
|
||||
<div class="col-sm-6"><label for="rfq-email"><?php esc_html_e( '邮箱 *', 'fragrance-trade' ); ?></label><input id="rfq-email" class="form-control" type="email" name="email" required maxlength="190" autocomplete="email"></div>
|
||||
<div class="col-sm-6"><label for="rfq-car"><?php esc_html_e( '车型 / 车牌(选填)', 'fragrance-trade' ); ?></label><input id="rfq-car" class="form-control" type="text" name="company" maxlength="150"></div>
|
||||
<div class="col-sm-6"><label for="rfq-whatsapp"><?php esc_html_e( 'WhatsApp 或电话', 'fragrance-trade' ); ?></label><input id="rfq-whatsapp" class="form-control" type="text" name="whatsapp" maxlength="100" autocomplete="tel"></div>
|
||||
<div class="col-12"><label for="rfq-product-type"><?php esc_html_e( '想做的项目 / 膜种 *', 'fragrance-trade' ); ?></label><input id="rfq-product-type" class="form-control" type="text" name="product_type" required maxlength="150" data-rfq-product-field></div>
|
||||
<div class="col-12"><label for="rfq-message"><?php esc_html_e( '简要需求描述 *', 'fragrance-trade' ); ?></label><textarea id="rfq-message" class="form-control" name="message" rows="4" required maxlength="2000" placeholder="<?php esc_attr_e( '请描述您的车型与需求。', 'fragrance-trade' ); ?>"></textarea></div>
|
||||
</div>
|
||||
<div class="fragrance-honeypot" aria-hidden="true"><label for="rfq-website">Website</label><input id="rfq-website" type="text" name="fragrance_website" tabindex="-1" autocomplete="off"></div>
|
||||
<p class="rfq-privacy-note"><?php esc_html_e( '我们仅会使用这些信息回复您的预约。', 'fragrance-trade' ); ?></p>
|
||||
<button type="submit" class="btn btn-b2b-primary"><?php esc_html_e( '提交预约', 'fragrance-trade' ); ?></button>
|
||||
</form>
|
||||
</div>
|
||||
<?php if ( $store_address ) : ?>
|
||||
<p class="contact-map-address"><?php echo esc_html( $store_address ); ?></p>
|
||||
<?php endif; ?>
|
||||
<span class="btn btn-b2b-primary mt-3">
|
||||
<?php esc_html_e( '在百度地图中导航', 'fragrance-trade' ); ?> ↗
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user