从现有的PHP站点创建自定义页面模板

时间:2017-04-17 作者:H.Norman

我有一个现有的网站,有5或6个php页面,一些表格和表单混合了HTML。该网站的最大目的是将CSV文件上载到数据库表中,然后在其他页面上从数据库中选择某些记录,并将其显示在HTML表中。

该站点在我的本地服务器上运行良好,数据库有一个MySQL工作台界面。然而,我刚刚被告知它必须是一个wordpress网站。基本上,它将从现有的WP站点链接,但页面和主题相同,所以我基本上是在现有的站点和页面中构建它。

有人告诉我,最好将我的每个PHP页面转换为WP安装的页面模板。我很好奇如何将这些页面转换为wordpress页面模板。我到处找了,但找不到好的教程。有人有什么有用的信息吗?

2 个回复
最合适的回答,由SO网友:Swen 整理而成

这真的很简单。查看Codex on Page Templates 了解更多信息。

复制现有页面。php文件位于WordPress主题文件夹中

  • 位于新的页面mypage的最上方。php文件,就在打开之后<?php 标记添加以下代码以定义自定义页面模板
  • /* Template Name: My Page Template */

    <现在进入您的页面mypage。php文件找到WordPress循环。通常是这样的:

    <?php
    // Start the loop.
    while ( have_posts() ) : the_post();
    
        // Include the page content template.
        get_template_part( \'template-parts/content\', \'page\' );
    
        // If comments are open or we have at least one comment, load up the comment template.
        if ( comments_open() || get_comments_number() ) {
            comments_template();
        }
    
        // End of the loop.
    endwhile;
    ?>
    
    用项目的相关PHP代码替换整个循环

    现在在WordPress中,您必须添加一个名为mypage的新页面,并在“页面属性”侧栏中选择您的自定义模板(My page template)。将有一个名为“模板”的下拉菜单

    SO网友:Sleuteltje

    您需要当前主题来为其开发子主题,或者将代码集成到现有主题中。

    本教程涵盖了从头开始创建wordpress模板的基本知识:https://www.taniarascia.com/developing-a-wordpress-theme-from-scratch/因此,您应该能够找到将代码转换为wordpress模板所需的所有位。

    如果您想要一个脏的快速修复,只要遵循wordpress的格式(在页面模板上方使用注释块以便wordpress能够识别),您就可以转换您的。将php文件轻松转换为页面模板。为了让用户能够在页面模板中插入自己的内容,您确实需要使用一些wordpress挂钩。但它们真的很简单,请参见法典中的这一部分:https://developer.wordpress.org/themes/template-files-section/page-template-files/ 用于创建页面模板;看见https://codex.wordpress.org/The_Loop 使用循环:

        <?php 
    if ( have_posts() ) {
        while ( have_posts() ) {
            the_post(); 
            //
            // Post Content here
            //
        } // end while
    } // end if
    ?>
    
    然后你可以使用像\\u content();用于显示WYISWYG编辑器中的内容。

    相关推荐

    自定义模板earch.php中的搜索结果

    现在我在搜索结果页面(search.php)中遇到了一个问题,结果是由索引页面模板显示的,而不是它的模板,它显示所有帖子,不管搜索者是否输入了内容我的索引。php页面<?php get_header(); ?> <?php $search = $_get[\'search\']; $args = array( \'post_title_like\' => $search ); $res = new wp_query($args