如何直接访问位于我的主题文件夹中的PHP文件?

时间:2012-07-16 作者:Gazillion

我的主题文件夹中有一个名为“test.php”的文件。

如果我去www.mysite。com/wp内容/主题/我的主题/文件夹/测试。php我假设加载的主题是由WP处理的404错误。如果我将文件名更改为test。html我可以访问它没有问题。

我尝试将以下代码添加到我的函数中。php文件(添加重写规则):

add_rewrite_rule( \'test.php$\', $relative_directory . \'/folder/test.php [L]\', \'top\' );
但即使有htaccess规则似乎也没有任何作用。

你知道这是什么原因吗?

3 个回复
SO网友:Mark Kaplun

假设您使用正确的URL访问文件,则所有内容都在web服务器级别处理,WP根本不会运行,因此基于WP的解决方案(如更改重写规则)对您没有帮助。

很可能有一些web服务器配置发送404以访问该文件夹中的php文件(如果其他php文件也返回404,那么您应该试试)。您可能能够修复web服务器配置以满足您的需要,但正如@EAMann所评论的,为WP编写ajax不是正确的方法。

SO网友:Geert

您正在使用RewriteRule在你的。htaccess文件?您应该能够直接访问PHP文件。前两行带有RewriteCond 确保重写到WordPress\'index.php 如果文件或目录存在,则不会发生。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /your-wp-site/index.php [L]

SO网友:KwikFiks Tutorials

您必须为该文件创建自定义WP模板才能使用显示本身。否则,它是一个试图在没有许可或挂钩的情况下执行的独立文件。在这种情况下,您需要通过WP直接添加文件php代码并创建一个页面。

您还可以打开所选主题目录中的“page.php”,将其另存为同一目录中的“test.php”,并将“test.php”php代码的全部内容粘贴到新的“test.php”文件的分区中。

类似这样:

<main id="main" class="site-main" role="main">
<?php
//Your PHP Code Here!
?>
</main>
这只是显示了基本划分。您将需要。如果您需要在测试时显示整个其他网站内容。php您将需要创建一个内容测试。主题中“templates parts”目录下的php文件。

同样,除了这次打开“content page.php”并将其保存为“templates parts”目录下的“content test.php”并通过测试之外,情况也是一样的。php代码,您希望在其中显示。

返回新的“test.php”并替换以下行:

get_template_part( \'template-parts/content\', \'page\' );
使用:

get_template_part( \'template-parts/content\', \'test\' );
这种方法的缺点是,当WP更新时,它可能会也可能不会将该文件保留在tact中,而第一个选项将php文件作为帖子或页面调用。

希望有帮助!

结束

相关推荐

使用unctions.php进行Pinterest集成

我用一个主题来构建一个投资组合。我想在功能中添加一个pinterest“pin it button”。php:Facebook、谷歌+推特都完成了,只是pinterest不起作用。找不到错误的代码。这是我的代码:function share_this($content){ if ( is_singular( \'portfolio\' ) ) { $content .= \'<div class=\"share-this\">\' . /* Facebo