WordPressを大学サークルのサイトのCMSとして使おうとしていているのですが、投稿ではない独立した「ページ」の識別をID番号以外で行うことは可能でしょうか。
投稿よりもページを主に使うので、出来る限りCSSで識別するHTMLタグの属性部分(id、class)を一定の形にテンプレート化したいのですが、ページを作成した時点ではそのページのIDは分からず、これまではthe_ID()で一度IDを表示させてからそのIDの数字を用いてCSSを設定していました。これでも不都合はないのですが、より理想的にはそのページの識別を任意の文字列で出来ればと思っています。具体的にはページ作成時に編集したパーマリンクの末尾の部分を用いれれば最適だと考えています。
そのようなタグや方法などがありましたら、教えてください。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
> 一応、phpで現在URLをディレクトリごとに(スラッシュで分割して)配列に挿入して、その最終要素を取得することで、意図したことはできました。
URLの表示形式を
/%postname%/%year%/%monthnum%/%date%/
としたりして、最後に投稿日を置くこともできますので、APIを使って取得する方法をおすすめします。
ちゃんとそういうのがありますので。
> http://www.example.com/about/
このときの"about"(post_name、旧称slug(ページスラッグ))をとるには
*ドキュメントのコピペですが。
<?php
global $post;
the_post(); // 必須。index.phpやsingle.phpではこのように書かれているThe_Loop開始のアレ。
// <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
$id=$post->ID;
$this_post=get_post($id);
?>
<div class="<?php echo $this_post->post_name; ?>">
class=about
</div>
post_nameの取り方は何種類かあるので、APIドキュメントを参考に使いやすい方法を採ってください。
post_nameは一意になっていますので、
<div id="<?php echo $this_post->post_name; ?>"> でも可能です。
同じpost_nameが指定されたときは、post_nameの後ろに連番がつくと思います。
cssファイルに
.about {} や #about {} を追加してください。
<link href="xxx.php">でも可能といえば可能ですが、いろいろ面倒なので、
テーマエディタでcssファイルを編集するのがいいと思います。
参考URL:http://codex.wordpress.org/Function_Reference/ge …
No.2
- 回答日時:
うーん そういう使い方かぁ
そういう「ほんのちょっとの違い」をcssで統一っていうのは実はちょっとcssでは向いてないんだよね
HTMLで埋め込むのが毎回違う値で面倒だからなんとか同じ書式で って言ってそれを実現できる方法としては、
phpでhtmlを書き出す時に専用のcssも吐き出す形じゃないかな。
つまりphpが埋め込む固有の部分に関するcssも書き出すというやつ。
通常は全ページ共通のcssで固有のstyleを書き足しているだろうけどそうじゃなくて共通は共通として固有は固有として取り込む形。
ファイルが増えるけど、そうじゃない場合はもう「JavaScript」しか選択肢が無くなるね。それは避けたいだろうけどファイルがhtmlと同じだけ増えるのとどっちが良いかって事じゃないかな。
今まで
・a.html
紹介とか
・b.html
活動とか
・common.css
a.html も b.html も参照している
この回答の案
・a.html
・b.html
・common.css
・a.css
aの固有部分のみについて書かれたcss
・b.css
bの固有部分のみに(略
phpはいじれないのでcssだけでとか言われたら「無理」
cssは整形指示を書式化してあるだけで、複雑な条件によって変化させるには通常javascriptで行われる
ありがとうございます。
一応、phpで現在URLをディレクトリごとに(スラッシュで分割して)配列に挿入して、その最終要素を取得することで、意図したことはできました。
ただ、やはりCSSを動的に生成するにはおっしゃる通りCSSの数を増やすか、HTMLの中に書かなければいけないと思うのですが、それは仕方ないかなあと感じました。
No.1
- 回答日時:
???
コンテンツマネージャなら「ページの形」はそれなりに「統一された表示様式」を持っているものなんじゃない?
なのにページ毎の固有IDが必要って意味が今一つ見えてこないんだけど・・・?
なんで各ページに固有IDが要るのかが判ると「じゃぁこうしたら?」というのが出る気がするんだけど・・・
この回答への補足
投稿ではない「ページ」は全てpage.phpが担っており、管理パネルで作れるコンテンツ部はそのpage.phpの中の一部であるので、それ以外のところはあらかじめpage.phpで作ったものになり、全ページの構造やデザインはほぼ等しくなります。ここで”ほぼ”と言うのは、管理パネルで作れる範囲外のところにも若干違いを出したいからです。
たとえば、ホームをhttp://example.com/として、「ページ」で「紹介」というページと「活動」というページを作り、それらの各ページのタイトルを管理パネルで作れる範囲外のところに画像で表示したいとします。そのときタイトルの画像を<img src="images/title_○○.gif" />のように一定にしたい場合、○○のところにIDが必要になるのです。加えて、スタイルなどもページごとに微妙に変えたいとすると、<div id="title_●●">のようにidやclassにもIDが必要になります。
ここで、タイトルの画像と管理パネルで作る部分がひと続きなら、いちいち管理パネルからタイトルの画像を挿入してもいいのですが、間にメニューバーなどが入ると、それができなくなります。
IDではなく、wp_title()でページのタイトルを取得することも考えましたが、日本語が入るのでだめで、そのため今までは数字のIDで○○を埋めていました。ただ、せっかくページのパーマリンクをhttp://example.com/about/(「紹介」の場合)と設定したのだから、どうにか"about"をそのページのIDとして利用できないかと考えているのです。そういうwordpressのタグなどがもしあったら教えていただけないかと思っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
php エラー
-
ワードプレスサイト PHP8.0.25...
-
PHPSpreadsheetによる書き出し...
-
a href リンクタグでだけで 送...
-
EC-CUBEをeclipseからコンパイ...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
phpでcookieがうまく保存されない
-
返信機能のツリー構造の深さを...
-
PHPについて。
-
phpのheader("Location:#pos")...
-
PHPからCSVをアップロード後、m...
-
[php初心者]サイトを見てデータ...
-
phpに関わる所での、form actio...
-
ゆゆにゃ。
-
【初心者】XAMPPのapacheの(恐...
-
プログラミング言語で、使える...
-
こちらはただの直列処理ですか?
-
PHPでこのコード自体に意味は無...
-
PHPとHTML+Xamppの掲示板で画像...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
laravelを利用してコントロール...
-
POSTを使わずに値を渡す方法
-
サーバ上でGETはできるがPOSTが...
-
プログラムの複製(VB.net)
-
post と get
-
大鏡「若き日の道長」の訳
-
php foreach文
-
$_SERVER['REQUEST_METHOD']と"...
-
pythonのhttp.serverでpostされ...
-
高高兴兴は高兴と何が違います...
-
jQuery Ajaxで送信先ドキュメン...
-
POSTの値を配列として受け取っ...
-
【smarty】予約変数に可変変数
-
CGI Perlでの認証について
-
アコーディオンPHPが上手くいか...
-
functionsでどこまで括るのか固...
-
ini_setのpost_max_size
-
ブックマークレットで他ドメイ...
-
php sprintfの中で、ifのような...
-
同じ変数名で値がいくつかある...
おすすめ情報