せっかくCSSで設定してる画像が子ページに入れた途端表示されなくなった!
なんて経験は無いでしょうか?
WordPressでランディングページのテンプレートを作っている時にサービスごとに、
デザインを変えたいと思いますよね?そんなときWordpressのスラッグ名を使ってCSSを設定するんですが罠があります。
その解決方法と対策をご紹介します。
目次
目次
スラッグ名を取得する
[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