Toro_Unit (Hiroshi Urabe)
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: 固定ページのページ送りが404404エラーということですが、404.phpが読み込まれていると言うことでしょうか?
それとも、固定ページは読み込まれていて、
その中で、「投稿が見つかりません」となるということでしょうか。フォーラム: プラグイン
返信が含まれるトピック: 狂骨のステータスに出る「cookie_expired」についてうろ覚えで申し訳ないのですが、クッキーの期限が切れて、ログイン済みだったユーザーがログアウトさせられたときに表示されるものだと思います。
そのユーザーが見覚えのあるモノであれば問題無いかと思います。
フォーラム: 使い方全般
返信が含まれるトピック: カテゴリのURLに.htmlを付けれる?URLからcategoryを削除すること自体は、
add_permastruct( $taxonomy, "%$taxonomy%.html", $args['rewrite'] );で実現できますが、様々なURLと競合が発生する可能性があります。(たとえば固定ページにも.htmlをつけた場合、パーマリンクを/%postname%.htmlに設定した場合…etc.)
ですので単純にパーマリンクを変更するだけでは収まらない話になってくるので、避けた方が無難かと思います。
フォーラム: 使い方全般
返信が含まれるトピック: カテゴリのURLに.htmlを付けれる?とりあえず、categoryのURLの末尾にhtmlをつけるだけならば、
categoryがWordPress内で初期化された後に add_permastruct を使って、パーマリンク構造を変更できます。add_action('registered_taxonomy', 'add_html_ext_for_category_link', 10, 3); function add_html_ext_for_category_link( $taxonomy, $object_type, $args ) { if ( $taxonomy == 'category' ) { add_permastruct( $taxonomy, "{$args['rewrite']['slug']}/%$taxonomy%.html", $args['rewrite'] ); } }phpMyAdminとかでwp_postsを post_date でソートしてみて、該当要素を確認するのが一番良いのかなと思います。
フォーラム: 使い方全般
返信が含まれるトピック: wp_postsのテーブルがエクスポートできないテーブルを修復すると解決出来る場合もあるかもです。
http://blife.boo.jp/549/214年でエントリーを作ってみたところ、
管理画面や記事ページでの表示上は、現在の日付になるようです。
なので、別のエントリーを削除していた可能性もあるかもです。原因は PHPの仕様として1901年とかより前の時間はパース出来ないというものです。
ただ、MySQL等はそうでもないようですので、
データベースには、214年という格好でデータが可能な存在するようです。で、wp_get_archivesの内部だと、PHP側で日付のパースを行っていないようでした。
単に数字として取り扱っているので、214年が表示されます。また、wp_get_archivesは 投稿タイプ: post, 投稿ステータス: publish (公開済み) を対象にするので、通常の記事一覧内で公開日が本日になっているものが怪しいかなと思います。
フォーラム: 使い方全般
返信が含まれるトピック: カテゴリのリライトルールに関して一応、No Category Base ( https://ja.wordpress.org/plugins/wp-no-category-base/ )
というプラグインで、カテゴリーアーカイブのURLから/category/を削除できますが、その手の不具合が報告されています。
WordPressの構造上、単純にURLからcategoryを消せばよいという話ではないので、
基本的には不可能、もしくは、かなり高度なカスタマイズが要求されます。フォーラム: 使い方全般
返信が含まれるトピック: WordPressのURLの設定についてパーマリンク設定が、
/hoge/%postname%/
となっている場合、カスタム投稿タイプのURLは、
/hoge/custom-post-type-slug/%postname%/
となってしまう場合、
register_post_typeの第2引数のパラメータの設定が原因です。
register_post_typeの第2引数$argsの$args['rewrite']['with_front']を
falseに設定すると/hoge/が無いパーマリンクにすることが出来ます。
Codexのregister_post_typeのパラメーターの項目も参考にしてみて下さい。フォーラム: プラグイン
返信が含まれるトピック: Really Simple CSV Importer サムネイル反映されないまずは「問題解決のためのチェックリスト」を確認して下さい。
https://ja.forums.wordpress.org/topic/11794投稿に記載する内容
どのような条件でどのような問題が見られますか? 以下のポイントを考慮して、正確かつ具体的に記述してください。- WordPress のバージョン
- 使用しているプラグインとテーマの情報(名称、入手先 URL、バージョン)
- PHP、MySQL のバージョン
- サーバー環境(ホスティングサービス名、OS、ウェブサーバー等)
- ブラウザとそのバージョン
- エラーが表示された場合、「XX のようなエラー」ではなく、なるべくエラー文をコピーしてそのまま貼り付けてください
フォーラム: プラグイン
返信が含まれるトピック: 【Custom Post Type Permalinks】.htmlをつけるとリンク切れになる複数の原因が考えられます。
1. リライトルールが更新されていない。
管理画面の「設定」-> 「パーマリンク設定」ページで、「変更を保存」ボタンを押して下さい。 リライトルールが再生成されます。
2. flush_rewrite_rulesを不適切なタイミングで実行している
functions.php等で、flush_rewrite_rulesを実行しているとリライトルールが適切に生成されない場合があります。 記述を削除し、前述の方法で、リライトルールを再設定して下さい。
フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿が表示された場合の条件分岐タグを教えてくださいループ外で使うと、現在ロードされている投稿の一番最初のものの投稿タイプを返します。
通常は、そこまで意識する必要は無いと思いますが、
カスタムタクソノミー等、複数の投稿タイプが存在するようなものを取り扱うときは注意が必要です。フォーラム: 使い方全般
返信が含まれるトピック: テーマ開発時の固定ページ追加について昔テーマのディレクトリのHTMLをチェックして、
- ファイル名と同名の固定ページが無ければ登録
- 存在し、タイムスタンプが新しければ更新
みたいなのはやってみたことはあります。サイト内検索などもあったので。
Class PageContents { private $dir; private $separator = "_"; private $content_dir = "page-contents"; private $ext = "html"; public function __construct() { $this->dir = get_stylesheet_directory()."/".$this->content_dir; } private function getContentFiles() { return array_map(function($fileName){ return $fileName; }, glob($this->dir.'/{*.'.$this->ext.'}',GLOB_BRACE)); } public function sync() { foreach ($this->getContentFiles() as $key => $fileName) { $pageName = $this->getPageNameFromFile($fileName); $post = get_page_by_path($pageName); if($post) { if( (strtotime($post->post_modified_gmt) < intval(filemtime($fileName))) ) { $newpost = $this->getPostFromFile($fileName); if($newpost->post_title) { $post->post_title = $newpost->post_title; } $post->post_content = $newpost->post_content; wp_update_post($post); } } else { $newpost = $this->getPostFromFile($fileName); $postData = [ 'post_status' => 'publish', 'post_type' => 'page', 'post_parent' => $newpost->post_parent, 'post_title' => $newpost->post_title, 'post_content' => $newpost->post_content, 'post_name' => $newpost->post_name ]; wp_insert_post($postData); } } } private function getPostFromFile($fileName) { $content = file_get_contents($fileName); $post = new \stdClass(); $post->post_title = ""; $post->post_parent = 0; if( preg_match( '|Content Name:(.*)$|mi', $content, $header ) ){ $post->post_title = $header[1]; } $pageSlug = $this->getPageNameFromFile($fileName); $slugs = explode("/", $pageSlug); $postName = array_pop($slugs); $post->post_name = $postName; if(count($slugs) > 0) { $page = get_page_by_path(implode("/", $slugs)); if($page) { $post->post_parent = $page->ID; } } // remove Comment. $post->post_content = preg_replace('/\<!--(.|\n)*?--\>(\s)*?/i', "", $content); return $post; } private function getPageNameFromFile($fileName) { $pageName = str_replace(['.'.$this->ext, $this->dir."/"], "", $fileName); $pageName = str_replace([$this->separator], "/", $pageName); return $pageName; } }あとは、宮内さんのブログの以下の記事が参考になるかもです。
* WordPressプラグインで好き勝手な内容を好き勝手なURLで表示する。
* WordPressに独自のURLを追加する。2014年版フォーラム: プラグイン
返信が含まれるトピック: Bogo:言語間で同じパーマリンクを使うには?こちらこそ、大変勉強になりました!ありがとうございます!
フォーラム: プラグイン
返信が含まれるトピック: Bogo:言語間で同じパーマリンクを使うには?bogo_parse_queryにて、クエリの改変を固定ページのように、やってあげれば良いようです。
とりあえず、gistに差分を張っておきます。
https://gist.github.com/torounit/4036ad72faf7e7d7dfb2三好さん、テストしてみて頂けますでしょうか?
https://dl.dropboxusercontent.com/u/8861787/152931.diff
パッチも添付します。