我想为我的WordPress博客创建一个自定义页面,将在其中执行我的PHP代码,同时保留整体网站CSS/主题/设计的一部分。

PHP代码将使用第三方api(因此我需要包括其他PHP文件)。

我该怎么做呢?

注:我没有特定的需要与WordPress API交互-除了包括某些其他PHP库,我需要我没有其他依赖的PHP代码,我想包括在WordPress页面。所以很明显,任何不需要学习WordPress API的解决方案都是最好的。


当前回答

你不需要与API交互或使用插件。

首先,在主题文件夹(在/wp-content/themes/themename/下)中复制post.php或page.php。

将新文件重命名为templatename.php(其中templatename是对新模板的称呼)。要将新模板添加到可用模板列表中,请在新文件的顶部输入以下内容:

<?php
/*
Template Name: Name of Template
*/
?>

您可以修改这个文件(使用PHP)以包含其他文件或任何您需要的文件。

然后在WordPress博客中创建一个新页面,在页面编辑屏幕中,您将在右边的Attributes小部件中看到一个Template下拉菜单。选择新模板并发布页面。

新页面将使用templatename.php中定义的PHP代码

来源:创建供全局使用的自定义页面模板

其他回答

你可以把你的文件命名为“newpage.php”——把它放在wp-content的主题目录中。您可以将其作为页面模板(参见http://codex.wordpress.org/Pages…),也可以将其包含在主题中的一个PHP文件中,例如header.php或single.php。

更好的是,创建一个子主题并把它放在那里,这样你就不用管你的主题代码,而且它更容易更新。

http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates

您也可以直接使用PHP页面,比如创建PHP页面并使用完整路径运行。

比如,http://localhost/path/filename.php

在WordPress中添加PHP页面到页面模板中的主题或子主题文件夹的最佳方法。

如何在WordPress中创建页面模板。

创建一个名为template-custom.php的文件,并将其放在/wp-content/theme/my-theme/目录下。

<?php
 /*
 * Template Name: Custom Template
 * Custom template used for custom php code display
 * @package   Portafolio WordPress Theme
 * @author    Gufran Hasan
 * @copyright Copyright templatecustom.com
 * @link      http://www.templatecustom.com
 */
?>
<?php get_header(); ?>
<?php
  //write code here

 ?>

<?php get_footer(); ?>

欲知详情

Adam Hopkinson给出的被广泛接受的答案是:创建页面的方法不是完全自动化的!它需要用户在WordPress的后端手动创建一个页面(在wp-admin破折号中)。问题是,一个好的插件应该有一个完全自动化的设置。它不应该要求客户端手动创建页面。

另外,一些其他被广泛接受的答案涉及到在WordPress之外创建一个静态页面,然后只包含一些WordPress功能来实现主题页眉和页脚。虽然这种方法在某些情况下可能有效,但如果不包含所有功能,则会使这些页面与WordPress集成非常困难。

我认为最好的、完全自动化的方法是使用wp_insert_post创建一个页面,并将其驻留在数据库中。可以在这里找到一个例子和一个关于这个的很好的讨论,以及如何防止用户意外删除页面:wordpress-automatic -creating-page

坦率地说,我很惊讶这个方法没有被提到作为这个流行问题的答案(它已经发布了7年)。

创建模板页面是正确的答案。为此,只需将其添加到您在主题文件夹内创建的页面中:

<?php
    /*
    Template Name: mytemplate
    */
?>

为了运行这段代码,您需要从后端选择“mytemplate”作为页面的模板。

请查看此链接以获得正确的详细信息https://developer.wordpress.org/themes/template-files-section/page-template-files/。