如何将PHP页面添加到WordPress?

2022-08-30 06:06:18

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

PHP代码将使用第三方API(所以我需要包含其他PHP文件)。

如何实现此目的?

注意:我没有与WordPress API交互的特定需求 - 除了包括某些其他PHP库之外,我需要在PHP代码中没有其他依赖项,我想包含在WordPress页面中。因此,显然,任何不需要学习WordPress API的解决方案都是最好的。


答案 1

您无需与 API 交互或使用插件。

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

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

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

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

然后在WordPress博客中创建一个新页面,在页面编辑屏幕中,您将在右侧的“属性”小部件中看到“模板”下拉列表。选择新模板并发布页面。

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

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


答案 2

如果您想创建自己的.php文件并与WordPress进行交互,而无需404标头并保持当前的永久链接结构,则无需为该页面提供模板文件。

我发现这种方法在您的.php文件中效果最好:

<?php
    require_once(dirname(__FILE__) . '/wp-config.php');
    $wp->init();
    $wp->parse_request();
    $wp->query_posts();
    $wp->register_globals();
    $wp->send_headers();

    // Your WordPress functions here...
    echo site_url();
?>

然后,您可以简单地在此之后执行任何WordPress功能。此外,这假设您的.php文件位于文件所在的WordPress网站的根目录中。wp-config.php

对我来说,这是一个无价的发现,因为我使用了很长时间,因为WordPress甚至告诉你,这是你应该用来集成WordPress功能的方法,除了,它会导致404个标题,这很奇怪,他们希望你使用这种方法。将WordPress与您的网站集成require_once(dirname(__FILE__) . '/wp-blog-header.php');

我知道很多人已经回答了这个问题,并且它已经有了一个公认的答案,但是对于WordPress网站根目录(或技术上您想要的网站中的任何位置)中的.php文件,这是一个不错的方法,您可以浏览并加载没有404标题!


更新:有一种方法可以不使用404标头,但这需要您手动添加标头。像这样的东西可以在WordPress安装的根目录中工作:wp-blog-header.php
<?php
    require_once(dirname(__FILE__) . '/wp-blog-header.php');
    header("HTTP/1.1 200 OK");
    header("Status: 200 All rosy");

    // Your WordPress functions here...
    echo site_url();
?>

只是为了更新你们所有人,这种方法所需的代码会少一点,但这取决于你使用哪一个。


推荐