我想为我的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的解决方案都是最好的。
当前回答
你不需要与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 API,那么Adam的答案是最好的。
如果您愿意使用API,我建议您使用“template-redirect”钩子,它允许您在访问WordPress的同时将特定的URL或页面指向任意的PHP文件。
您也可以直接使用PHP页面,比如创建PHP页面并使用完整路径运行。
比如,http://localhost/path/filename.php
你不需要与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 /* Template Name: CustomPageT1 */ ?>
<?php get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?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;
?>
</main><!-- .site-main -->
<?php get_sidebar( 'content-bottom' ); ?>
</div><!-- .content-area -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>