Php 在Wordpress中创建没有主题元素的自定义页面

Php 在Wordpress中创建没有主题元素的自定义页面,php,wordpress,Php,Wordpress,我正在尝试为使用KnowledgePress主题的Wordpress网站创建自定义主页。我不是PHP或Wordpress开发人员,但我花了数小时研究这个问题。无论我尝试什么,页面最终都会接受来自站点自定义主题的各种主题元素 我尝试创建一个空模板,然后从自定义页面使用此模板。模板: <?php /** Template Name: Empty Template */ ?> <html> <head> <style type="text/css"&g

我正在尝试为使用KnowledgePress主题的Wordpress网站创建自定义主页。我不是PHP或Wordpress开发人员,但我花了数小时研究这个问题。无论我尝试什么,页面最终都会接受来自站点自定义主题的各种主题元素

我尝试创建一个空模板,然后从自定义页面使用此模板。模板:

<?php
/**
    Template Name: Empty Template
*/
?>
<html>
<head>
<style type="text/css">
body { background-color: #cccccc; }
#page-content { width: 800px; margin: 20px auto; }
</style>
<title><?php wp_title( '|', true, 'right' ); bloginfo('url'); ?></title>
</head>
<body>
<div id="page-content">
</div>
</body>
</html>
结果仍然显示页面的内容包装在网站主题中

我尝试在主题根目录中创建一个自定义page-pagename.php文件,例如page-welcome.php:

<html>
<head>
</head>
<body>
<h1>MySite.com</h1>
</body>
</html>
内容仍然包装在网站的外观中。模板包括:

base.php index.php page.php
如果有帮助的话。我有FTP访问权限,目前正在测试一个自定义页面,但最终希望它能在网站主页上运行。不过,到目前为止,我所做的一切都没有使我脱离Wordpress主题。

FTP进入您的Wordpress站点,转到您当前的主题或子主题文件夹。您将在/wp content/themes/目录中找到它。保存所有主题的副本,然后删除原件。

模板通常作为内容部分包含在page.php或single.php中,其中还包括主题的页眉、页脚和侧边栏。这就是为什么你总是看到他们

为了避免这种情况,您必须为您使用的主题创建一个子主题,即在主题目录中创建一个自己的文件夹,并将自己的版本/添加项/添加到所有您想要更改的文件中-通常至少是style.cssand functions.php

所有这些都太多了,不能在这里的一篇短文中解释,你真的必须进入Wordpress主题开发,至少要知道如何创建子主题和自己的页面模板。你需要了解一些php和Wordpress API知识

评论后添加:

扩展实际主题的问题是:一旦主题得到更新(这在商业主题中经常发生),所有更改都将丢失。所以最好设置一个儿童主题。但这并不复杂,因为您只需要创建与主主题不同的少数文件,其他所有文件都是以某种级联方式继承的。因此,基本上您需要文件style.css,通常不总是functions.php,并且您要添加的页面模板文件可以命名为任何名称,但必须包含某些元信息作为注释,才能识别为模板。 css还需要包含有关google主主题的信息。。。被WP识别为子主题,但它只需要包含您需要的附加CSS规则-其他的都是从原始主题获取的,就像所有其他必要的东西一样

评论后的下一个添加

通常您首先在WP后端激活子主题,然后进入pages>new page。在右侧边栏中选择页面模板,该模板必须位于子主题目录中,在WP编辑器中插入内容,然后单击发布。但是,您的模板必须包含以下内容,才能包含刚刚插入到WP编辑器中的内容。该内容保存在数据库中:

 <?php while (have_posts()) : the_post(); ?>
   <?php the_content(); ?>
 <?php endwhile; ?>
您也可以将固定内容直接放入模板中,但无论如何,您必须通过WP管理界面创建一个新页面,以便将其集成到您的站点中


看一看哦,看一看。。。在:

编辑站点根目录中的.htaccess文件。添加重写规则以指向静态HTML文件。将规则配置为仅应用于主页或任何要用自定义HTML而不是WP主题替换的静态URL。示例.htaccess文件在修改之前:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^$ somefile.html [L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
修改后:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^$ somefile.html [L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

[L]告诉重写引擎,给定的规则是最后一个如果匹配就应该计算的规则。这里有更多关于重写规则的信息:

这到底有什么帮助?我不想破坏整个网站。我只想添加一个不使用主题的自定义页面。我没有意识到向站点添加一个自定义HTML页面需要深入了解Wordpress主题和主题创作。谢谢你的帮助。如果我创建了我自己的自定义子主题版本knowledgepress,我必须切换整个站点来使用这个新主题,对吗?我不能只让我想要使用的一个自定义页面选择这个新的子主题?请注意我的回答中添加的内容谢谢-假设我创建了一个子主题以及所有这些,我需要做些什么来让我的一个自定义页面使用子主题吗?我是否在子主题中创建了一个模板,它将神奇地显示出来,并且我可以从自定义页面中选择它,或者?或者我需要让整个网站使用儿童主题,在这种情况下,所有内容都不会改变,而不仅仅是我想要的一个页面?谢谢,Johannes。我感谢你的帮助。然而,为了完成我想做的事情,我发现最简单的方法是编辑.htaccess文件以指向主页/ 静态html文件的路径,它解决了我的问题,而无需深入创建整个Wordpress主题。