如何创建具有特定URL的页面?

时间:2015-01-24 作者:Dronz

我想有几个网页,谁知道的URL可以访问,但没有在WordPress菜单上列出。我希望这些页面有一个名称,而不是一个数字,但我看不到一种方法来做这些事情。

也就是说,我可以创建一个名为“Special”的页面,而不将其包含在菜单中,但我无法转到

我的网站。净/特殊

仅适用于

我的网站。净/?page\\u id=561

我还想保留/?page\\u id=561导航,因为这是一个已建立的网站,有许多链接设置为使用这种URL样式。我只想一些特定的网页有好的名字,将解决。

WordPress有这样的功能吗?我是否应该尝试让IIS直接/特别发送到/?page\\u id=561?

嗯。在为这个问题选择标签时,我发现“url重写”和http://codex.wordpress.org/Rewrite_API/add_rewrite_rule - 看起来我可以添加

function custom_rewrite_basic() {
  add_rewrite_rule(\'mysite.net/Special\', \'mysite.net/Special\');
}
add_action(\'init\', \'custom_rewrite_basic\');
到“functions.php”-我看到的是在我的主题(Twenty12)文件夹中。。。我能把这个插进去吗?

2 个回复
最合适的回答,由SO网友:OnethingSimple 整理而成

如果您试图创建一个静态文件,然后像加载普通文件一样加载它,您可能会遇到问题,因为我们称之为WP页的页面实际上不是一个文件,而是许多文件,它们告诉Wordpress如何根据URL中使用的查询将从数据库中查询的信息放在一起。大多数现代WP安装使用漂亮的链接,用户看不到该查询“?page\\u id=561”,因为它使URL更易于阅读,更具语义。(在执行下面列出的操作之前,我非常确定,如果切换到永久链接,旧的查询链接应该仍然有效,因为永久链接会在幕后将漂亮的链接更改为查询。)

如果你绝对肯定不想切换到漂亮的链接,那么你可以通过静态文件自己加载Wordpress。为此,我们首先需要wp blog头。位于WP根目录中的php文件。因此,要测试这一点,您可以将一个文件保存到根目录中,将其命名为secret page。php并输入以下行。之后,您应该可以在mysite访问它。com/机密页。php(前提是mysite.com是wordpress的安装目录。它可能是与网站根文件夹不同的目录。请查找其中包含wp-config.php的文件夹。

<?php
require( \'wp-blog-header.php\' );
define(\'WP_USE_THEMES\', true);

get_header();
wp_head();
?>
    <div id="main">
通常我不会把一个文件放在根目录中,但你也不想把这个文件放在你的主题文件夹中,并且url是www.mysite。com/wp-content/themes/secret\\u页面。php(除非您想制定重写规则,将url yoursite.com/secret-page.php重定向到yoursite.com/wp-content/themes//secret-page.php)。如果这样做,只需将上面的require行更改为require(“../../../wp blog header”);如果使用典型的主题文件夹。对于放置文件的根文件夹上方的每个文件夹,必须在文件名之前放置一组“../”,这只意味着“返回一个文件夹”

为了解释上面的文件做了什么,它运行了wp blog头。php文件,它为您启动Wordpress,然后第二行告诉Wordpress我们想要使用主题。这样,无论此文件是否在主题文件夹中,我们都可以获得与您的站点相同的外观,我们可以访问您经常使用的主题,因为WP已将其保存为数据库中的选项。

接下来是get\\u header();行转到您的主题并开始打印您的网站页面,然后,wp\\u head()运行所有Wordpress head操作。如果您是一名开发人员,您可以从这里独自继续。若并没有,但您可以自己处理,然后转到主题文件夹并从索引中复制代码。php或页面。php(您最想模仿的页面)。查看此codex页面,http://codex.wordpress.org/Template_Tags - 它将解释模板标记是如何工作的,这将帮助您将站点页面通常具有的相同功能添加到此新页面,该页面未列出,仅对了解URL的人可用。您不必使用“”-这实际上只是为了演示应该从哪里开始html。我希望这有帮助。

SO网友:tao

您只需启用永久链接。

我强烈建议切换到永久链接:/%postname%/

The old links will still work. (事实上,每个permalink类型都只是默认类型的别名:?p=%post\\u id%)。

第二个原因是能够让人们更容易记住指向页面的链接。主要的一点应该是提高搜索引擎中的页面排名。

Google将URL中包含搜索关键字的页面放在更高的位置。这是事实。

至于不在菜单中显示页面,只需禁用仪表板>外观>菜单中的“向此菜单添加新页面”复选框。并在菜单上添加/删除任何页面/帖子。

结束

相关推荐

theme functions (hooks)

WordPress已经提出了这个问题,但没有答案。我只是想在这个论坛上试试,如果有人知道的话,因为我也有同样的问题。要使用jquery滑块编辑我的主题,如何转到该脚本?,显示“$主题->挂钩(\'content\\u before\');”在content div标记中。有人能帮忙吗?我的主题索引。php包含以下内容<div id=\"main\"> <?php $theme->hook(\'main_before\'); ?> &#x