[网页]:PHP和Html的差异与结合

3次阅读
没有评论

最近使用了腾讯云的免费CDN加速功能,使得在后台编辑PHP文件时,刷新起来总是要到腾讯控制台去刷新或清楚缓存。

解决办法有以下两个:

1、通过vs code插件,实现PHP文件随写随看,及时同步;

2、通过html文件本地编辑本地预览,完成后丢给AI输出PHP。

[网页]:PHP和Html的差异与结合

PHP 和 HTML 的关系,一句话:PHP 是生成 HTML 的”后台工匠”,HTML 是最终展示给用户的”成品页面”

用户浏览器 ←—— 收到 ——→ HTML/CSS/JS(最终看到的网页)
                              ↑
服务器 PHP 文件 ——→ 执行 PHP 代码 ——→ 输出 HTML
        ↑
    包含 HTML 模板 + <?php ?> 动态逻辑

为什么WP不能直接放HTML

WordPress的页面系统不识别纯HTML文件

表格

问题 说明
数据库无记录 WordPress页面/文章存在数据库,wp_posts表管理
无模板关联 上传的HTML不会被识别为页面模板
无法后台管理 页面列表里找不到,无法编辑、设置SEO等
URL路由不匹配 WordPress的伪静态规则不会指向这个文件

即使强行访问 yourdomain.com/wp-content/themes/xxx/page/your.html,也是404或文件直接下载,不会融入WordPress体系 。


正确方案:转换成PHP页面模板

第一步:HTML改PHP模板头

您的 about.html 改成 page-about.php

php

复制

<?php
/*
Template Name: 关于页面
*/
get_header();  // 引入WordPress主题头部
?>

<!-- 您的原HTML内容放这里,去掉<head>和<body>等,只保留主体 -->

<main class="my-custom-page">
    <h1>关于我</h1>
    <p>这是介绍内容...</p>
    <!-- 原HTML代码 -->
</main>

<?php
get_footer();  // 引入WordPress主题尾部
?>

第二步:上传到正确位置

/wp-content/themes/您的当前主题/
├── page-about.php      ← 放这里(主题根目录,不是page文件夹)
├── page-contact.php    ← 其他页面同理
├── style.css
├── functions.php
└── ...

⚠️ 注意page- 前缀是WordPress的页面模板命名规范,不是放在 page/ 文件夹里 。

第三步:后台创建页面并关联

操作 截图示意
后台 → 页面 → 新建页面 页面标题填”关于”
右侧”页面属性” → 模板 下拉选择 “关于页面”
发布 URL自动为 yourdomain.com/about

完整转换示例

改造前:您的纯HTML

<!DOCTYPE html>
<html>
<head>
    <title>关于我 - 我的博客</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <nav>导航...</nav>
    
    <main>
        <h1>关于我</h1>
        <p>内容...</p>
        <img src="photo.jpg">
    </main>
    
    <footer>页脚...</footer>
    <script src="app.js"></script>
</body>
</html>

改造后:WordPress页面模板 page-about.php

<?php
/*
Template Name: 关于页面
*/
get_header();  // 自动引入主题的 <head>、导航等
?>

<main class="about-page">
    <!-- 只保留原HTML的"内容部分" -->
    <h1>关于我</h1>
    <p>内容...</p>
    
    <!-- WordPress特色:动态获取图片 -->
    <?php if (has_post_thumbnail()) : ?>
        <?php the_post_thumbnail('large'); ?>
    <?php else : ?>
        <img src="<?php echo get_template_directory_uri(); ?>/images/photo.jpg" alt="">
    <?php endif; ?>
</main>

<?php
get_footer();  // 自动引入主题的页脚、</body>等
?>
正文完
 0
评论(没有评论)