egoblock
フォーラムへの返信
-
フォーラム: その他
返信が含まれるトピック: カテゴリーのリカーシブを理解したいgblsmさん
レスして頂きありがとうございました。
function test($r, $p = 0 ){ $t= $r; $flag = array(); foreach( $t as $u ){ if( $p == $u["parent"] ){ $flag[] = $u["parent"]; } } if( !empty( $flag ) ){ for( $i = 0; $i < count( $t ); $i++ ){ if( $i == 0 ){ echo '<ul>'; } if( $p == $t[$i]["parent"] ){ echo '<li>'; echo '<p>parent:' . $t[$i]["parent"] . '</p>'; echo '<p>id:' . $t[$i]["id"] . '</p>'; echo '<p>name:' . $t[$i]["name"] . '</p>'; test( $t, $r[$i]["id"] ); echo '</li>'; } if( $i == ( count($r) - 1 ) ){ echo '</ul>'; } } } } test($array)あまり美しくないですが、ループまわす前にループをまわして末子かどうかを判定するようにしました。
>wp_term_taxonomyのcountフィールドは、そのタームがつけられたオブジェクト(投稿など)の数です。親子関係に影響を受けるものではありません。
そうですよね。
冷静になると当たり前でした。ご丁寧に回答頂きましてありがとうございました。
フォーラム: その他
返信が含まれるトピック: カテゴリーのリカーシブを理解したいgblsmさん
ご回答頂いているのに、不手際が多く恐縮です。
if( $i == 0 ){ echo '<ul>'; } if( $p == $t[$i]["parent"] ){ //省略 } if( $i == ( count($r) - 1 ) ){ echo '</ul>'; }末子カテゴリーのループのとき、
$p == $t[$i][“parent”]は成立しないので何も出力されませんが、
$i == 0と$i == ( count($r) – 1 は成立するため、
空の<ul></ul>だけが出力されてしまいます。これを解消するためにwp_term_taxonomyのcountが存在しているのかと思っております。
フォーラム: その他
返信が含まれるトピック: カテゴリーのリカーシブを理解したいレスしていただき、ありがとうございます。
>末子カテゴリーは「自分のidが、parentとして使われているカテゴリーがひとつもない」
はい、そうです。
末子カテゴリーのループのとき
if( $p == $t[$i][“parent”] )
が成立しないので中身は出ないですが、
if( $i == 0 )とif( $i == ( count($r) – 1 ) )は成立するので<ul></ul>
のように空の状態で
<ul>が出力されてしまいます。そうならないためにwp_term_taxonomyにcountというカラムがあり、
これが0のときは<ul>および</ul>
を出力させないという処理をしているのかと考えました。https://core.trac.wordpress.org/browser/tags/4.4.2/src/wp-includes/category-template.php
ソースを観てもその辺りがわからなくて、質問させて頂いた次第です。フォーラム: 使い方全般
返信が含まれるトピック: 固定ページで、記事の属するカテゴリ名の表示はじめまして。
商品一覧ページで、
・そのカテゴリーに属する商品の一覧ページ(page.php)の見出しとしてカテゴリ名を出力
・そのページで抽出した商品毎(have_post()の出力結果)にカテゴリ名を抽出の2パターンでやり方が異なると思います。
おそらく前者だと思うので、そちらの方法を。
固定ページで、あるカテゴリーに属する商品を一覧にしているということは、
WP_Query()などを使って絞込みを行っているんですよね?その条件(カテゴリーのIDかslugかわかりませんが)で、
get_category()とかget_category_by_slug()を使えば取得できると思います。フォーラム: インストール
返信が含まれるトピック: インポートツールでデーターベース引越し後、リンクが更新されないはじめまして。
画像パスは以降前のブログのURLのままです。
記事の内容はwp_postsテーブルのpost_contentに、静的な状態で格納されているだけで、それをコピーしているだけですから。記事内のパスを変えたければ、1件1件手動で書き換えるか、MySQLでUPDATEコマンドを叩いて修正するしかないと思います。
添付ファイルのインポートに失敗するのは、情報が少なすぎてわかりません。
フォーラム: テーマ
返信が含まれるトピック: 新しいテンプレートの追加はじめまして。
既存のテーマでとあるので、アップロード先は
/wp-content/themes/twentyeleven
/wp-content/themes/twentyten
のいずれかでしょう。
この中に追加したいテンプレートをアップロードします。テンプレートのファイル名にはルールがあるので下記を参照。
http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E9%9A%8E%E5%B1%A4>それらの追加したテンプレートのURLというのはどのようなものになるのでしょうか?
ちょっとこれは意味がわかりません。フォーラム: マルチサイト
返信が含まれるトピック: マルチサイト化についてはじめまして。
XSERVERは共有サーバーなので、サブドメイン型のマルチサイトは出来ないと思います。
マルチサイト化するならサブディレクトリ型しか選択肢はないはずです。
(サーバー側でサブドメインを追加して、別のWordpressを追加することは可能ですが)一番簡単なのは、single.php内でin_category()を使って分岐して、特定のカテゴリに含まれている投稿のときはこのテンプレートをインクルード、とすれば良いと思います。
サブディレクトリ型のマルチサイト化をすると、親ブログの投稿のURLが変わりますので注意が必要です。
http://test.com/111
http://test.com/blog/111
といった具合に/blog/が入るようになります。主観ですが、マルチサイト化するといろいろ面倒です。
フォーラム: 使い方全般
返信が含まれるトピック: テーマ編集画面の全角入力大変申し訳ございません。
解決いたしました。
ウェブブラウザの問題でした。Google Chrome6.0だと上記のようなトラブルが発生するようです。
Firefoxでは問題なく入力が出来ました。FF重いのでChromeに乗り換えたのですが、よりを戻すことにします。
フォーラム: 使い方全般
返信が含まれるトピック: テーマ編集画面の全角入力申し訳ございません。
詳細を追記させていただきます。記事投稿画面では正常に日本語で入力が出来ます。
テーマのファイルをUTF-8で保存し直し、上書きしましたが効果がありませんでした。
僕の環境では、この入力欄下部の
「コードは逆クォートで囲ってください。」の逆クォートという部分が文字化けしています。フォーラム: その他
返信が含まれるトピック: GPLライセンスの影響力について