goodtimes
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: ページの階層番号を取得する方法jim912さん
こんにちは
ご回答ありがとうございますお考えになっていることと違いますか?
あってます!
仰る方法でばっちり取得できました!
感謝いたします!
ありがとうございました!フォーラム: 使い方全般
返信が含まれるトピック: ページの階層番号を取得する方法post.php(wp-includesのなか)で、
get_page_hierarchyというものを見つけました名前からしていかにもページ階層取得してくれそうなので、先ほどから試行錯誤しているのですが
どうしたらいいのかまったくわかりません・・
この関数自体、ページ階層取得に無関係なのでしょうか・・?現在のわたしが書いているのは以下です
<?php $depth = get_page_hierarchy($posts,$post->post_parent); ?>
<?php if(empty($depth)) {
echo (“depth is empty”); }
else{
echo (“you’ve got depth!”);
//配列がはいる?(A AA AAA のように?)
$depth = array($depth);
//よって 配列の中に収められているものの数をカウントしてみた
$depth = count($depth);
echo ($depth);
}?>//コメントでかいたとおり、get_page_hierarchyで取得する値は、配列?なのだと理解し、
count($depth)で数を数えたら、その数=階層位置になると思っているのですがこれだと全部 depthは1 になります…
どこからまちがっているんでしょうか・・
それとも、この関数自体、ページ階層取得と無関係なものでしょうか?ご存知の方、ご教示いただけませんでしょうか
フォーラム: 使い方全般
返信が含まれるトピック: 引越し前の記事、テーマはどこへ・・?フォーラム: 使い方全般
返信が含まれるトピック: 引越し前の記事、テーマはどこへ・・?フォーラム: 使い方全般
返信が含まれるトピック: 引越し前の記事、テーマはどこへ・・?すみません、タイトルに誤りがあります
テーマはどこへ?とかいてますが
テーマは引越し前のものが使えています。
引越し前の記事(ページ、投稿、設定など)はどこへ?が正しいタイトルです。
フォーラム: 使い方全般
返信が含まれるトピック: IEで「is_homeで投稿ページを分岐」が無効?mizubeさん
わざわざありがとうございます
この掲示板のあと、HTMLとPHPのコメントアウト方法を調べにいって、自分なりにまとめてました
スッキリしてわかりやすいコメントアウト方法のご提示!ありがとうございます!またこちらでお世話になることと思います
その際は(今回のようなことがあって非常に恐縮ですが・・)よろしくお願いしますほんとうにお二人ともありがとうございました ==(:x)
フォーラム: 使い方全般
返信が含まれるトピック: IEで「is_homeで投稿ページを分岐」が無効?フォーラム: 使い方全般
返信が含まれるトピック: IEで「is_homeで投稿ページを分岐」が無効?mizubeさんこんにちは
ご回答ありがとうございます# だいぶ WordPress から離れてしまっているので、この辺で私からの回答は終わりとさせていただきます:-)
最後まで丁寧に教えてくださってありがとうございました!
ご回答もよく理解できました本当に感謝です!
投稿タイトルについては100パー解決しました
cyamaさん、mizubeさん、ありがとうございました!
フォーラム: 使い方全般
返信が含まれるトピック: IEで「is_homeで投稿ページを分岐」が無効?コメントについて追記です
質問4
コメントの中を日本語で書くと、その日本語の一部が悪さをする・・なんてことはありますか?
今回、//がわるいのか?と思って、//以降をはずして <!– カテゴリは分岐で表示 –>のようにしても、IEで正常表示されたりされなかったり・・(キャッシュの問題?とおもってクリアもしていますがいまだなにが原因かわからず)
IEが日本語の文字コード?(よくわかりませんが、英数字に置き換え・・るんですよね?)をそのまま記号として読み取って、-とか*とかそういうコメントコードに関わるような記号が入っていたら、コメントに影響を与えてしまう??のかな?とも思い出しましたよそのHPとかのHTMLソースを見ていると、コメントの中身が英語だったりして、なんでだろう?と漠然と思っていたのですが、そういうこともあって英語で書いているんでしょうか?
(それとも単に日本語で書くと不細工だから?)フォーラム: 使い方全般
返信が含まれるトピック: IEで「is_homeで投稿ページを分岐」が無効?cyamaさん mizubeさん おはようございます
なにが原因か切り分けられた・・ような気がします・・!
#CSSもデフォルトに戻してやりました。(これは関係なかったみたいです)<!– 投稿ページはカテゴリ表示 //is_homeで分岐 –>
このコメントをはずしたら
・echo(“is home”)があってもなくても カテゴリ正常表示
・cyamasan told me(タグの外なのになんで表示されない??と思ってたところ)も出る
・わたしの最初の投稿の文章(つまり一つの命令ごとに<?php…?>でくくってなくても) カテゴリ正常表示でした
質問1
で、このコメントのなにが悪いことしてる可能性があるんでしょうか・・私はPHPもHTMLも今回初めてで、自分が手を入れたところや見てて理解したソース?に自分でコメント(「ここはXXXをTTしてGGしているからQQQ」とか)を入れたいです
また、デフォルトテーマで不要な部分はごっそりコメントアウトして「ここは何々の処理、不要のため削除」とかも入れたいのですわたしがコメントについて認識している(今回気づいた点含む)点を書きますのでご助言いただけませんか?
他にも要注意点があったら教えていただければ幸いです・<!– –>は、HTML文章内、<?php ?>の括弧内 どちらでもコメントアウトできる
・<!– –>は、複数行わたってコメントアウトできる
・/* */は、<?php ?>の括弧内 のみコメントアウトできる
・/* */は、複数行わたってコメントアウトできる
・//ではコメントアウトできないが、何か悪さをする??(今回で疑惑)mizubeさんが最初に教えてくださった echo'<!– msg –>’ についてですが
すみません、頭が混乱していて、すっかり<!– –>がコメントアウトと頭から抜けていました
(まだこのコメントアウト方法に慣れていないのです・・)
なので、2回目の投稿で素っ頓狂なこと(「あれ?echoの文字が見えない?」)を書いてしまいました。当然ですよね・・、すみません
質問2
phpの命令の後の ; も、あってもなくてもいいものなんですか・・?
今朝からソースを見ていたらcyamaさんのご提示文の最後に ; がありませんでした
結局 ; は、あってもなくても変化なしでした
でもいわゆるcommitみたいなもので超重要だとおもっていたので、びっくりです・・
質問3
phpはいろんな書き方でも許してくれる言語?なのですね?(endifや文字列のくくり方など)
では、さすがにこれは書き方が間違ってますヨ!と知る方法はあるんでしょうか?
私は他のスクリプト?でプログラムを作ったことがあって、コンパイラ?で自分が書いたソースをコンパイルすると、「何行目の○○がおかしいから、無理!」と跳ね返されます
書き方も統一されてて、ちょっとでも違う書き方をすると、ブブーでした
なので今回、書き方がおかしいのに、何も表示しないとかになるのは驚きを隠せないのですたまに、HTML上で、英語で何行目がおかしいとか出るときもあります
たとえば<?php ?>の中に 全角の空白が入っていたときなどです
他にもありましたが、今思い出せませんメッセージがでるものはPHPの文章の問題
メッセージがでずに表示ごとされなくなったりするのはHTMLの問題と思えばいいですか?====
最後に
====
長くなってしまいましたが、「私の文章のなにが悪いのか?」がわかりつつあってすごくうれしいです
あと、今回ずっときになっていたif文の書き方などに触れられて、本当にありがたかったです
ありがとうございますあとすこしだけ、未解決のままにさせてください
フォーラム: 使い方全般
返信が含まれるトピック: IEで「is_homeで投稿ページを分岐」が無効?すみません、ちょっとだけ修正しました
修正箇所
・mizubeさんの名前がcyamaさんの名前になってたので修正(文章コピペのあとお名前かえるの忘れてましたすみません)
・endifもある・・・流儀の問題ですか?というところを追記しました
・>>リストマークが余分にでたけど ○○を消したらOKでしたのところがなぜか非表示?
<UL>ですフォーラム: 使い方全般
返信が含まれるトピック: IEで「is_homeで投稿ページを分岐」が無効?cyamaさん、mizubeさん こんにちは
ご回答ありがとうございます
@@@編集しなおしましたので、以下の投稿で確定します。17:22@@@結果、お二人のご教示くださったコードを貼り付けたら、カテゴリ一覧は表示されました
されましたが、いろいろ表示の違いなどがあって、
お二人の解説を読んでもなぜなのかわかりません…
もう少し、お付き合いいただけませんでしょうか?
#そうです、わたしはデフォルトテーマを使っていますまず、私の文章でIEにて表示されなかった理由ですが、
間違いの1つ目は、<?php XXXXXX ?>の書き方です・・ね?
お二人のは、一つの命令ごとに<?php XXXX ?>とくくってるのに対し、
わたしは、全部ひっくるめて ?> でくくってました。
firefoxではOKだったけど、IEはダメだったってことと解釈しました。合ってますでしょうか?2つ目は、echoの後の書き方
私は、<?php echo (“example msg”); ?>と書いていたけど
<?php echo ‘<!– example msg–>’; ?>と書かないといけない?
でも、後者にしたら中のメッセージが出なくなってしまいました・・
詳しくはあとで説明します3つ目は、php の書き方のことなんでしょうが、これもわかりません
<?php if …. のあとです
たとえば、<?php if(is_home())
is home なら・・・○○せよ、そうでなければ ××せよという文章ですが
{○○せよ}else{××せよ}と、{}でくくると思っていました
でも、mizubeさんのは{がない・・ その代わりに:がある?
endifもある・・これも、他で見たらあったりなかったり・・
これは流儀とかの問題ですか?
それともどちらかが正しいとかがあるのですか?で、上記の二つ目の詳細+アルファですが
まず私がなにしたかを書きます<お二人のコードを追加するために私がしたこと>
1.自分の書いていたis_home分岐でカテゴリ表示/非表示切替文(最初の投稿に載せてた文)を全部削除<cyamaさんの文に対して私がしたこと>
1、コードをそのままコピーペースト
2、<?php echo ‘<!– cyamasan eko –>’; ?>と、wp_listの前に追加
3、cyamasan told me と、<?php if (is_home()){ ?>の前に追加<mizubeさんの文に対して私がしたこと>
1.コードをそのままコピーペースト
2、<?php echo ‘<!– mizubesan eko –>’; ?>と、wp_listの前に追加
3、mizubesan told me と、<?php if (is_home()) : ?>の前に追加ちなみにコードは・・・
#mizubeさん、全角スペースじゃないです。タブでやってますがここだと表示が崩れるので、手で半角2個使ってスペースあけてます‘
<!– 開発実績ページのみカテゴリ表示 //投稿ページは、is_homeで分岐 –>
cyamasan told me
<?php if (is_home()){ ?>
<?php echo ‘<!– cyamasan eko –>’; ?>
<?php wp_list_categories(‘show_count=1&title_li=<h2>’ . __(‘Categories’, ‘kubrick’) . ‘</h2>’) ?>
<?php
}
?>mizubesan told me
<?php if (is_home()) : ?>-
<?php echo ‘<!– mizubesan eko–>’; ?>
<?php wp_list_categories(‘show_count=1&title_li=<h2>’ . __(‘Categories’, ‘kubrick’) . ‘</h2>’); ?><?php endif; ?>
‘
で、IE、FIREFOXでどう表示されたかというと
<cyamaさん分>
===IE===
・cyamasan told me が表示されない →A
・cyamasan eko が表示されない →B
・カテゴリ一覧は正常表示===FireFox===
・cyamasan told me 表示される
・cyamasan eko が表示されない →B
・カテゴリ一覧は正常表示<mizubeさん分>
===IE===
・mizubesan told me が表示される →A
・mizubesan eko が表示されない →B
・カテゴリ一覧は正常表示===FireFox===
・mizubesan told me 表示される
・mizubesan eko が表示されない →B
・カテゴリ一覧は正常表示(但し、>>(リストマーク?)が一つ余分に出た)
→これはを消したら、OKでした。IEも影響うけずです
※cyamaさんmizubeさんのコードは、それぞれベツベツに記述+一緒に記述で見てますが
ベツベツに記述も一緒に記述も表示は同じでしたすみません、長くなってます
で、疑問点ですA・・・
タグ?の外なのに、なぜ表示されないんでしょう・・?
しかもcyamasan told me は表示せずで、mizubesan told meは表示されます。
どう違いが・・??
お二人のコードより上の文章を私が触っているからかな?と思って消してみましたが、変化なしです。
どういう原因が考えられますでしょうか?B・・・
ややこしいですが、これが最初に「あとで詳細書きます」といってた分です
echo(“example msg”)ではなく echo ‘<!– example msg –>’の話ですecho ‘<!– example msg –>’だと
IE、FIREFOXともに表示されないので、おや?と思って
<!– –>の矢印をはずしてみました。
要するに echo’example msg’にしました
すると、FIREFOXでは、cyamaさんのもmizubeさんのも表示されます
すなわち、思っていた通りに表示されます
でもIEでは、カテゴリ表示自体がされなくなってしまいます(要するにエラーで無視された?)
なにが、原因、、というかなにが間違ってるんでしょうか・・??長くなってしまいましたが、教えていただけませんでしょうか?
フォーラム: 使い方全般
返信が含まれるトピック: 投稿ページとその他のページの区別方法フォーラム: 使い方全般
返信が含まれるトピック: 投稿ページとその他のページの区別方法mizubeさん
つらつらとした長文で読みにくいのに
・スラッグについて
・is_homeがなぜ有効になるのかについて
二つとも答えてくださってありがとうございます!
読みにくいよなー・・と思って修正しようかと思っていたところでした2つとも理解できました
元々 is_home() がいうなれば「home タイプのテンプレートを使用するページ (投稿を表示するメインのページ)」のことを指す
こちらの説明で思い出しました
そうでした、最初になにもphpファイルや設定を触ってない状態だと
トップページに投稿記事が追加されていてて、こまったなーと思ってたんでした!
これでつながりました!で、タイトルの投稿ページとその他のページの区別方法はこれで全て解決しました
が、また新たに??が・・
これは、このトピック?とは関係ないことになるので、もう一度よく調べてわからなかったら
新しく質問します本当に細かいところまで、ありがとうございました!
===
最後に、同じ内容でお困りの方のためにまとめておきます<わたしの使用している言葉の説明>
・投稿ページ・・・ダッシュボード>設定>表示設定で、投稿ページに設定しているページのこと
・カテゴリー関係なしに全投稿記事が表示されている
・シングル記事ではない
・TOPページ・・・ダッシュボード>設定>表示設定で、トップページに設定しているページのこと<分岐するための関数?>
投稿ページは is_home で分岐する
TOPページは is_front_page で分岐する
その他の固定ページは is_page で分岐するフォーラム: 使い方全般
返信が含まれるトピック: 投稿ページとその他のページの区別方法mizubeさん
is_homeでバッチリ区別してくれました!ありがとうございます!
でも、なぜ??
is_home()は、いわゆるトップページ(http://XXXX.jp)のことではないんですか?
投稿ページはhttp://XXXX.jp/?page_id=32となっています
不思議です、、
どうして分岐?できるのか教えてくださいませんか・・?# !is_page() にはフロントページと、ページ以外が該当します。 is_home() も is_archive() も is_single() も is_search() も is_404() もそうです
こちらの情報もありがとうございます!
前回書いた(固定)ページだとサイドバーに子ページ一覧表示 @ sidebar.php
の分岐が必要だとわかりました
ただ、なぜかまた分岐しないので・・もう一度目を皿にして見てみますもうすこし未解決のままにさせてください