
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で質問しましょう!
似たような質問が見つかりました
- WordPress(ワードプレス) ワードプレスで、投稿一覧ページにタグを表示する方法 投稿につけたタグを、記事一覧ページにもカテゴリと 1 2023/05/10 21:41
- その他(ブラウザ) Edge、Chrome、FireFoxのパスワード記憶機能 2 2023/08/16 16:25
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- docomo(ドコモ) 契約者固有IDと個体識別番号の違い 1 2022/12/15 00:15
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- ノートパソコン ページ番号の入れ方について 3 2023/02/16 17:11
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Content-Typeが機能していない?
-
PHP8でWarning:Undefined varia...
-
composerをインストールしたい...
-
PHPのエラーの解消法について教...
-
グローバルスコープはありますか?
-
phpの問い合わせフォームを作っ...
-
$filePath = './user_img/' . $...
-
PHPでユーザー情報を入力して簡...
-
PHP8を使うと、大量のWarningが...
-
php 入力画面から確認表示画面...
-
php 完了画面の送信メールのコ...
-
PHPで入力フォームでデータを確...
-
csvファイルについて教えて下さ...
-
文字列を段落で分ける方法を教...
-
PHPでMysqlにデータがあるかど...
-
MySql PHP 2つのテーブルをJOI...
-
どうして送信されないのでしょ...
-
phpにおいて$xを計算式の文字列...
-
クラス
-
【PHP/MySQL】コード上で生成...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
laravelを利用してコントロール...
-
POSTの値を配列として受け取っ...
-
POSTを使わずに値を渡す方法
-
サーバ上でGETはできるがPOSTが...
-
プログラムの複製(VB.net)
-
高高兴兴は高兴と何が違います...
-
【smarty】予約変数に可変変数
-
wordpressでのパーマリンクの表...
-
タスクバー上の行数
-
$_SERVER['REQUEST_METHOD']と"...
-
CGI Perlでの認証について
-
アコーディオンPHPが上手くいか...
-
php foreach文
-
jQuery Ajaxで送信先ドキュメン...
-
php sprintfの中で、ifのような...
-
RSSと投稿記事を交互に表示させ...
-
ini_setのpost_max_size
-
バックスラッシュの対策について
-
ブックマークレットで他ドメイ...
-
大鏡「若き日の道長」の訳
おすすめ情報