[掲載日] ([更新日] ) この記事は約 2 分で読めます

WordPressでスラッグ名を取得すると親>子ページ名になるのを回避する方法

せっかくCSSで設定してる画像が子ページに入れた途端表示されなくなった!
なんて経験は無いでしょうか?

Wordpressでランディングページのテンプレートを作っている時にサービスごとに、
デザインを変えたいと思いますよね?そんなときWordpressのスラッグ名を使ってCSSを設定するんですが罠があります。

その解決方法と対策をご紹介します。

Ruby on Railsのプログラミングを最短1ヶ月で習得
RailsHack講座では13日間の無料期間(全額返金保証)で安心のスクールです。
WEBアプリケーションが実際に作成できます。
» RailsHack講座の13日間の無料体験(全額返金保証)はこちら

スラッグ名を取得する

[php]
<?php echo get_page_uri($post->ID);?>
[/php]

この方法だとせっかくCSSで設定してる画像のに「画像が消えた!」ってなります。
理由は親ページ名/子ページ名になってしまうからです。

これを回避する方法を探しました。

ポイント

[php]<?php
$post = get_page($page_id);
echo $post->post_name;
?>[/php]

これで解決します。

[php]
<body id="<?php $post = get_page($page_id); echo $post->post_name; ?>">
[/php]

こんな感じでBodyにも使えます。

まとめ

親ページ>子ページにしてもこれなら簡単に取得できます。

ちなみにサービスごとにページテンプレートを増やしていく方法もありますが
ランディングページが多いとその分テンプレートの数も多くなってしまいます。

参考サイト

参考にさせていただいたサイトをご紹介します。
http://the-zombis.sakura.ne.jp/wp/?p=1337

コメントをする

メールアドレスは公開されませんのでご安心下さい。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください