web-dev-qa-db-ja.com

特定のURLでページを作成する方法

URLを知っている人なら誰でもアクセスできるが、WordPressメニューにはリストされていないページがいくつかあります。これらのページに数字ではなく名前を付けてもらいたいのですが、これらのいずれかを実行する方法がわかりません。

つまり、 "Special"という名前のページを作成してメニューに含めないようにすることはできますが、次に移動することはできません。

mysite.net/Special

しただけだった

mysite.net/?page_id=561

/?page_id = 561というナビゲーションも維持したいのですが、これはそのスタイルのURLを使用するように設定された多数のリンクを持つ確立されたサイトです。私はただいくつかの特定のページに解決されるニースの名前を持たせたいだけです。

WordPressにはそのような機能がありますか? IISから/ Specialに/?を直接送信するようにする必要がありますか?page_id = 561?

うーん。この質問のタグを選択すると、 "url-rewriting"と 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"に - 私が見るものは私のテーマ(12)フォルダにあります...それで私はちょうどそこにこれを挿入するでしょうか?

1
Dronz

静的ファイルを作成してから通常のファイルのようにロードしようとした場合、WPページは実際には1ファイルではなく、むしろ多数のファイルであるため、問題が発生した可能性があります。これは、URLで使用されるクエリに基づいてデータベースからクエリされた情報をまとめる方法をWordpressに指示します。最近のほとんどのWPインストールでは、リンクが読みやすくなり、意味がわかりやすくなるため、 "?page_id = 561"というクエリがユーザーに表示されないようなプリティリンクを使用しています。 (以下にリストすることをする前に、パーマリンクに切り替えても、パーマリンクは裏側のクエリにきれいなリンクに変わるので、あなたの古いクエリリンクはまだうまくいくはずです。)

あなたがかわいいリンクへの切り替えをしたくないということに絶対に肯定的であるならば、あなたは静的ファイルを通してあなた自身でWordpressをロードすることができました。これを行うには、まずWPルートディレクトリにあるwp-blog-header.phpファイルが必要です。そのため、これをテストするには、ファイルをルートディレクトリに保存し、secret-page.phpという名前を付けて次の行を追加します。 mysite.com/secret-page.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_page.phpにしたくありません(あなた以外は)。 URL yoursite.com/secret-page.phpをyoursite.com/wp-content/themes//secret-page.phpにリダイレクトする書き換え規則を作成する必要があります。その場合は、上記のrequire行をrequire( '../../../ wp-blog-header')に変更してください。典型的なテーマフォルダを使うならば。ファイルを配置するルートフォルダより上のすべてのフォルダに対して、ファイル名の前に一連の「../」を配置する必要があります。これは、「1つのフォルダに戻る」という意味です。

上のファイルが何をしたかを説明するために、それはあなたのためにWordpressを始めたwp-blog-header.phpファイルを走らせました、そして2行目は我々がテーマを使いたいとWordpressに言いました。これにより、このファイルがテーマフォルダにあるかどうかにかかわらず、サイトと同じ外観を得ることができます。WPはデータベースにオプションとして保存されているため、通常使用するテーマにアクセスできます。

次にget_header(); lineがあなたのテーマに行き、あなたのウェブサイトのページをプリントアウトし始めました、そしてその後、wp_head()はすべてのWordpressのheadアクションを実行します。あなたが開発者であれば、ここから一人で続けることができます。そうでなければ、あなたはあなた自身のものを扱うことができます、そしてあなたのテーマフォルダに移動してindex.phpかpage.phpからコードをコピーしてください。このコーデックスページをチェックしてください。 http://codex.wordpress.org/Template_Tags - テンプレートタグの仕組みを説明します。あなたのサイトのページが通常この新しいページに持っているのと同じ機能。これはリストに載っておらず、URLを知っている人だけが利用できます。あなたは ''を使う必要はありません - 実際にはそれがあなたがあなたのHTMLを始めるべきところであることを実証するためだけです。これが助けになれば幸いです。

1
OnethingSimple

パーマリンクを有効にするだけです。

パーマリンクに切り替えることを強くお勧めします: /%postname%/

古いリンクはまだ動作します。(実際、すべてのパーマリンクタイプはデフォルトのものに対する単なるエイリアスです: ?p =%post_id% )。

人々がページへのリンクを覚えやすくすることができるようになることが第二の理由です。主なものは、検索エンジンでのページランキングの向上です。

Googleは、検索キーワードを含むページをURLの上位に配置します。それは事実です。

メニューにページを表示しない場合は、[ダッシュボード]> [外観]> [メニュー]の[このページに新しいページを追加する]チェックボックスをオフにしてください。そしてそれにいる間、メニューに/からページ/投稿を追加/削除してください。

2