私はいくつかのユーザー生成コンテンツを持つデータベーステーブルを持っています。各content-elementは、/ my-url/project/the-projects-nameを介して利用できます。項目は、ワードプレスの投稿はありません。このようなURLが呼び出されたときにリダイレクトするインデックススクリプトを作成しました。スクリプトはprojects-nameを抽出し、変数に格納し、ページテンプレートをインクルードします。 私のページとプロジェクトデータはうまく表示されますが、WordPressは要求されたウェブサイトの404状態をスローし、タイトルを「見つからない」に設定します。どのように私は出力をワードプレスを偽造できますか?私のインデックスprojects.phpスクリプトにリダイレクトワードプレスの特別なURLのための独自の書き換えルール
私のhtaccessファイル:
RewriteCond %{REQUEST_URI} ^/my-url/project/(.*)
RewriteRule . /index-project.php [L]
私のインデックス-project.php:
ob_start();
define('WP_USE_THEMES', true);
$path = explode('/', $_SERVER['REQUEST_URI']);
while(empty($path[0]))
array_shift($path);
while(empty($path[count($path)-1]))
array_pop ($path);
if(count($path) >= 3 && !empty($path[2])) {
$postFound = false; // use this param to define if requested post was found in DB
$post_name = $path[2]; // get the post name from url
$args = parse_url($post_name);
$slug = $args['path']; // extract the post slug from post name
if(!empty($slug)) {
$wp_did_header = true;
$_GET['page_id'] = SOME_ID_OF_MY_WP_PAGE;
$_GET['main_page'] = 'page-project';
require_once(dirname(__FILE__) . '/wp-load.php');
wp();
include('./wp-content/themes/my-theme/page-project.php');
}
}
Wordpressのは、まだ404をスローページが正しくロードされ、コンテンツが私のインデックスproject.phpが、WPに「リダイレクト」されますまだ404ヘッダーをブラウザに返します。 – Denis
URL-request.phpスクリプトに追加して、wordpressにURLを要求するページ/投稿を検索しないよう指示するものがあると思います – Denis