我想为我的WordPress博客创建一个自定义页面,将在其中执行我的PHP代码,同时保留整体网站CSS/主题/设计的一部分。
PHP代码将使用第三方api(因此我需要包括其他PHP文件)。
我该怎么做呢?
注:我没有特定的需要与WordPress API交互-除了包括某些其他PHP库,我需要我没有其他依赖的PHP代码,我想包括在WordPress页面。所以很明显,任何不需要学习WordPress API的解决方案都是最好的。
我想为我的WordPress博客创建一个自定义页面,将在其中执行我的PHP代码,同时保留整体网站CSS/主题/设计的一部分。
PHP代码将使用第三方api(因此我需要包括其他PHP文件)。
我该怎么做呢?
注:我没有特定的需要与WordPress API交互-除了包括某些其他PHP库,我需要我没有其他依赖的PHP代码,我想包括在WordPress页面。所以很明显,任何不需要学习WordPress API的解决方案都是最好的。
当前回答
如果你想创建自己的.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文件所在的位置。
这对我来说是一个无价的发现,因为我正在使用require_once(dirname(__FILE__))。' / wp-blog-header.php ');WordPress甚至告诉你,这是你应该使用的方法来集成WordPress函数,除了,它会导致404头,这是奇怪的,他们会让你使用这种方法。将WordPress与你的网站集成
我知道很多人已经回答了这个问题,并且已经有了一个公认的答案,但是这里有一个很好的方法,在你的WordPress站点的根目录(或者技术上你想在你的站点的任何地方)中创建一个。php文件,你可以浏览和加载没有404头文件!
更新:有一种方法可以使用wp-blog-header.php而没有404头,但这需要你手动添加头。类似这样的东西将在你的WordPress安装的根目录中工作:
<?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();
?>
只是更新一下,这种方法需要的代码少了一些,但这取决于您使用哪种方法。
其他回答
创建模板页面是正确的答案。为此,只需将其添加到您在主题文件夹内创建的页面中:
<?php
/*
Template Name: mytemplate
*/
?>
为了运行这段代码,您需要从后端选择“mytemplate”作为页面的模板。
请查看此链接以获得正确的详细信息https://developer.wordpress.org/themes/template-files-section/page-template-files/。
我知道这是个老问题,但没人这么说过: 您还可以在theme目录中创建一个名为page-my-custom-page.php的文件,并使用my-custom-page slug发布一个页面。 也可以使用wp函数来显示页面细节(如the_content()来显示页面内容)。
现在您可以使用example.com/my-custom-page访问该页面。
我不确定这是否是一种合适的方式,但在WP 5.7.3中进行了测试和工作
你会想看看WordPress的插件API。
这篇文章解释了如何“挂钩”和“过滤”到WordPress机制的不同部分,所以你可以在任何给定的时间在任何地方执行自定义PHP代码。这种挂钩、过滤和自定义代码创作都可以在任何主题的functions.php文件中进行。快乐编码:)
WordPress插件API WordPress挂钩/过滤数据库 WordPress PHPXHref by Yoast
你不需要与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代码
来源:创建供全局使用的自定义页面模板
在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(); ?>
欲知详情