yossy8
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: 特定のカテゴリ記事を表示する際、本文の有無で表示を分けたいありがとうございます。
ただ、その本文有無の条件分岐を、
上のやつに合体させると、全体ではどういう記述になるのか・・・すみません、知識不足でそれがわかりません。フォーラム: マルチサイト
返信が含まれるトピック: マルチサイトの引っ越し(カスタム投稿・カスタム分類あり)申し訳ありません。同じドメインでの引っ越しではなく、「別環境に同じ内容を移す」でした。
もともと、旧サーバの方もテストサイトでして、新サーバに同じ内容を移し、動作テストをしたかったのです。
新サーバも無料お試しの契約なので、本番契約の際には独自ドメインを入れるのでまたドメインが変わります。こういう例はまれですよね、すみません。
何度もわかる範囲で、文字置き換えをやってインポートをしてみましたが、
どうも文字置き換えに漏れがあるのか、うまくいきません。旧サーバはテストサイトなので、記事数はそれほど多くありませんので、
新サーバで、プラグインの動作テストなど一通りして終了にします。
まるごと引っ越しは諦めて、引っ越せなかった部分については、設定しなおすことにします。
アドバイスありがとうございました。フォーラム: マルチサイト
返信が含まれるトピック: マルチサイトの引っ越し(カスタム投稿・カスタム分類あり)私のやった引っ越し手順を順番づけて書いてみます。
(こちらを参考にさせてもらいました。→http://picomint.net/2010/09/13/wp-9/)■準備
・旧サーバのwpデータをFTPでまるごとバックアップ
・DBはphpMyAdminでエクスポート(参照:http://wpdocs.sourceforge.jp/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97)■手順
(1)新サーバ(ヘテムル)で、「簡単インストール」機能を使い、wp3.0.1をインストールし一度ログイン。
(2)新サーバのwp-config.phpをバックアップ。
(3)旧wpのデータをwp-config.phpを除いて、まるごとFTPで上書きアップロード。
(4)新wp-config.phpの、接頭辞と、ネットワーク有効化文章の修正をし、アップロード。
(5)新サーバのphpMyAdminで、既存のテーブルをすべて削除。
(6)旧サーバのDBデータを新サーバへインポート。フォーラム: マルチサイト
返信が含まれるトピック: マルチサイトの引っ越し(カスタム投稿・カスタム分類あり)つまずいている箇所が、自分で把握できず、
うまくお伝えできず、すみません。ファイル群、DBもすべて移すことはできてると思いますが、
ドメインやWPのインストールディレクトリも違うので、
wp-config.phpや、エクスポートしたDBのsqlファイルで、
ドメインなどいくつか置換しなければいけないところがあると思います。
それらがちゃんとできていないのかもしれません。DBのエクスポートしたデータも、「そのまま」ではだめですよね?
旧サーバと新サーバのDBのphpMyAdminを見比べてみると、
データベーステーブルの接頭辞が違います。
旧DBでは、「wp4_」という感じになっています。
これはロリポップで何度かデータベースの作成を繰り返したためかと思います。
接頭辞も合わせなければいけないと思い、wp-config.phpの
$table_prefix = ‘wp_’;
のところを、
$table_prefix = ‘wp4_’;
と変えてみました。あと、ネットワークの有効化をする際にwp-config.phpに追記した内容で、
ドメインやディレクトリ名があるところがあるので、
それらは新サーバのものに変えました。そして、ログインしなおそうとすると、
wp-adminがエラーでログイン画面になりませんでした。フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿ページで属するカスタム分類のカテゴリー説明を表示したいちなみに、
カスタム投稿&カスタム分類でない、通常の投稿の場合は、
以下の記述で、
投稿ページに、属するカテゴリーの説明を改行を活かしたまま表示できました。<?php foreach((get_the_category()) as $category) { echo wpautop($category->category_description ); } ?>
フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿ページで属するカスタム分類のカテゴリー説明を表示したい改行を活かしたままの表示ができました。
wpautop() を追記したらできました。
記述は以下<?php $terms = get_the_terms($post->ID, 'カスタム分類名'); if ( !empty( $terms ) ) { foreach ( $terms as $term ) { echo wpautop('<p>' . $term->description . '</p>'); } } ?>
フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿ページで属するカスタム分類のカテゴリー説明を表示したいいろいろ調べまして、とりあえず、
投稿ページで属するカテゴリーの説明を表示することはできました。
以下の記述を、投稿ページを生成する「single-カスタム投稿タイプ名.php」に記述しました。<?php $terms = get_the_terms($post->ID, 'カスタム分類名'); if ( !empty( $terms ) ) { foreach ( $terms as $term ) { echo '<p>' . $term->description . '</p>'; } } ?>
ただ、これだと“説明”に入力した文字が、
改行をつめて表示されてしまいました。フォーラム: 使い方全般
返信が含まれるトピック: 日時引数を使ったループのあとのループで日時引数を解除したいすみません、post_status=futureで出来ました!
実は、予約済み投稿を表示させることを最初にどうするか考えたときに、
post_status=future は一度使ってみたのですが、
そのときはうまくいかず、(ただ記述が間違っていたんですねたぶん)wordpress/wp-includes/post.php をテキストエディタで開き $post_status = 'future'; を $post_status = 'publish'; に、書き換えれば公開日が未来でも表示されます。
というものを見つけ、この方法を利用し、
その条件下でいろいろやっていました。今回指摘いただき、再度試したら、いまく行きました。
自分でむだに難しくしていたようです。ありがとうございました。
フォーラム: 使い方全般
返信が含まれるトピック: 日時引数を使ったループのあとのループで日時引数を解除したいアドバイスありがとうございます。
function filter_where($where = ”) {
if ( !is_home() ) return;
としてみましたが、なんだかすごい表示になってしまいだめでした。
(すべての記事が何度も繰り返し表示されて、トップページが縦にとても長くなってしまいました)2つ目以降のループの条件が少し変わりました。
2つ目、3つ目とループがあり、それぞれ、
2つ目<?php query_posts($query_string . "&showposts=2&post_type=xxxxxxx"); ?> ループの記述
3つ目
<?php query_posts('pagename=xxxxxxx'); ?> ループの記述
という感じです。
この2つ目と3つ目のquery_postsを、get_postsで取得するには、
query_postsをget_postsに差し替えるだけでよいのでしょうか?(知識が乏しくてすみません)ふと思ったのですが、
1つ目の条件で「未来の投稿」としてるので、
2つ目の条件で「過去の投稿」という日時引数を再度設定したら・・・
その記述方法がまたわからないですが・・・フォーラム: 使い方全般
返信が含まれるトピック: 日時引数を使ったループのあとのループで日時引数を解除したい日時引数を解除できないので、
応急処置として、
公開日をずっと未来の日にしてみました。
2100年とかにできたら安心でしたが、
2040年くらいから先で更新できなかったので、(1970年になってしまう)
2035年にしておきました。
25年後に記事が表示されなくなる、ということになりますが・・・
25年間このままではないはずなので・・・フォーラム: 使い方全般
返信が含まれるトピック: 未来と過去の記事をわけた一覧を表示したいカスタム分類のアーカイブもできました!
個別ページとは、読み込むループを変えて、
<?php function filter_where($where = '') { $where .= " AND post_date > '" . date('Y-m-d', strtotime('1 days')) . "'"; return $where; } add_filter('posts_where', 'filter_where'); global $query_string; query_posts($query_string . "&order=ASC"); ?>
としたら、できました。
query_posts() は テンプレート ファイル内で WordPress ループ が始まる前に記述します。wp_query オブジェクトは与えられた引数から新しい SQL クエリを作ります。このとき、WordPress は(ページ番号やカテゴリーのような)URL から得られた引数を無視します。もしその情報が必要なら、query_posts() の引数としてグローバル変数の $query_string を与えます。
例えば、他のクエリ引数に影響を与えずに投稿の表示順序だけを指定したいなら WordPress ループ の前に以下のように記述します:
とあったので、これを参考にしました。
アーカイブだということを無視されていたのはこのことだったのですね。。
global $query_string;
がポイントでしょうか。カスタム投稿からの投稿を諦めかけていたので、ぎりぎりのところで解決してよかったです。
これでやっとサイトも完成に近づきそうです。
何度もアドバイスいただき、本当にありがとうございました。フォーラム: 使い方全般
返信が含まれるトピック: 未来と過去の記事をわけた一覧を表示したいはい、同じでよいと思ったのですが、それがうまくいかないのです。
アーカイブページであるということをまったく無視して、
固定ページと同じ内容が表示されるのです。
カスタム分類のアーカイブページだからでしょうか・・・ループの前の条件をすべて消すと、
普通に、そのカスタム分類のカテゴリーにしぼってリストを表示するのですが、
例えば、
<?php query_posts(“order=ASC”); ?>
など、何か一つでも条件を加えると、
通常の「投稿」から作成した記事だけで、昇順のリストになります。カスタム分類のアーカイブで表示したい記事は、
カスタム投稿で作成した記事です。カスタム投稿から記事だと、この問題以外にもいくつか思ったようにいかないことがあるので、
サイトの構成を見直して、カスタム投稿を諦めて、通常の投稿で、構成しなおそうかとも検討中です。
初めてのワードプレスなので最初の構成づくりが、無駄に難しかったのかもしれません。
無理にカスタム投稿は使わない方向で、
「未来の記事を昇順」で、固定ページでもアーカイブページでも表示できるように検討してみます。フォーラム: 使い方全般
返信が含まれるトピック: 未来と過去の記事をわけた一覧を表示したいややこしくてすみません。
カテゴリーアーカイブで表示させたいことも、
ページと同じで、
「今後のスケジュールを昇順で」
です。フォーラム: 使い方全般
返信が含まれるトピック: 未来と過去の記事をわけた一覧を表示したいいろいろ試した補足です。
カスタム分類のアーカイブページの表示について、
アーカイブ専用に新作した、ループの記述の前の条件指定として、
固定ページで記述していた条件指定から、
&post_type=taikai-i
だけを削除した以下<?php function filter_where($where = '') { $where .= " AND post_date > '" . date('Y-m-d', strtotime('1 days')) . "'"; return $where; } add_filter('posts_where', 'filter_where'); query_posts('$query_string&order=ASC'); ?>
を記述すると、
カスタム投稿で投稿された記事はまったく表示されず、
通常の「投稿」から投稿された記事のみで、
“今日”より未来の記事を昇順で表示しました。固定ページの条件とまったく同じで、
&post_type=taikai-i
をつけておくと、固定ページとまったく同じ表示結果です。
属するカテゴリーに絞り込むことをしてくれません・・・。条件指定をすべて削除すると、
あたりまえですが、
属するカテゴリーの記事すべてを降順で表示します。「今日より未来の記事を昇順で」という条件だけのつもりが、
投稿タイプやアーカイブという条件まで影響してしまってる書き方なのでしょうか・・・。フォーラム: 使い方全般
返信が含まれるトピック: 未来と過去の記事をわけた一覧を表示したいはい、アーカイブページは別のものを読むようにしたのですが、
カスタム分類のカテゴリーの記事だけを表示してくれないのです。&post_type=taikai-i
だけ削除したのですが・・・。