<?php if($_SERVER[‘REQUEST_URI’]==”/sample/”) ?> //TOPページ
エラー自体はここの行でコロンが抜けているためです。
if($_SERVER['REQUEST_URI']=="/sample/") :
なお、WordPressの条件分岐タグ使った方が、簡単にできると思います。
Codex:条件分岐タグ
ざっくりとですが
<?php
if ( is_front_page() ) { // フロントページ(WordPressのサイトトップ)なら
if ( !is_paged()) { // 2ページ目以降でなければ(=1ページ目なら)
echo "画像1";
}
echo "画像2";
}
?>
もう一つ、’$pt = $wp_query->max_num_pages,’の箇所でエラーになると思います。
この位置で変数に代入する必要性はありませんので、そっくり削除してください。
フォーラム » 使い方全般 » 新着情報でページナビゲーションの使い方。のコードから変更があったのでしょうか?
変数への代入については、そちらの質問に返信しました。
gatespaceさん
返信遅くなり申し訳ございません。
それと、ご回答ありがとうございます。
エラーは教えていただいた通り、コロンが原因でした。
とても助かりました。
WordPressのCodexについても情報ありがとうございます。
教えていただいたコードで、TOPページとフロントページ(2ページ目以降)で画像の振り分けが出来るようになりました。
このWordPressの条件分岐タグは大変便利ですね、ご享受ありがとうございます。
申し訳ございません、最初の質問が少し的を外していました。
TOPページでは画像①と画像②を表示させて、ページナビで2ページ目に移動したときは画像②のみ表示させるところまでは同じなのですが、
ページナビで1ページ目に戻った時も画像②のみ表示させたいと思っております。
このような動作は可能なのでしょうか?
現在のURLの表示ですが
TOPページを表示した時(TOPへ移動するリンクボタン等から移動した場合)
http://***/sample/
ページナビで2ページ目(ラベルを付けています)
http://***/sample/page/2#label
ページナビで1ページ目(ラベルを付けています)
http://***/sample/#label
となっています。
URLの後ろの「#label」があるかどうかで振り分けられればと思っていますが、上手くいきませんでした。
もし、このような動作が出来るのであれば参考サイトでも結構ですので
教えていただけませんでしょうか。
よろしくお願いします。
下記にTOPページ振り分けと、1ページ目の振り分け、フロントページの振り分けを記述しましたが、1ページ目はTOPページとして振り分けられてしまいました。
<?php if($_SERVER['REQUEST_URI']=="/sample/"): ?> //TOPページ振り分け
<div id="javascript"> //javascript用画像
<img src="<?php bloginfo('template_url'); ?>/images/0001.png" >
<img src="<?php bloginfo('template_url'); ?>/images/0002.png" >
</div>
<?php endif; ?>
<?php if($_SERVER['REQUEST_URI']=="/sample/#label") ?> //ページナビ1ページ目振り分け
<img src="<?php bloginfo('template_url'); ?>/images/0002.png" >
<?php endif; ?>
<?php if ( is_paged()) { ?> //フロントページ振り分け
<img src="<?php bloginfo('template_url'); ?>/images/0002.png">
<?php } ?>
...........
新着情報コード
...........
//ページナビで表示されるURL「/sample/page/2#label」←2ページ目のlabel
<div class="tablenav"><?php global $wp_rewrite;
$paginate_base = get_pagenum_link(1);
if (strpos($paginate_base, '?') || ! $wp_rewrite->using_permalinks()) {
$paginate_format = '';
$paginate_base = add_query_arg('paged', '%#%');
} else {
$paginate_format = (substr($paginate_base, -1 ,1) == '/' ? '' : '/') .
user_trailingslashit('page/%#%/', 'paged');;
$paginate_base .= '%_%#label';
}
echo paginate_links( array(
'base' => $paginate_base,
'format' => $paginate_format,
'total' => $pt,
'mid_size' => 5,
'current' => ($paged ? $paged : 1),
)); ?></div>
popupさん
お気遣いありがとうございます。
本当に感謝します。
仰る通り’$pt = $wp_query->max_num_pages,’でエラーになっており、
その状態で質問してしまい大変申し訳なく思っております。
ご回答いただいたgatespaceさん、popupさんご迷惑をおかけしました。
フォーラム » 使い方全般 » 新着情報でページナビゲーションの使い方。からは「#label」をつける変更をしました。
上記の質問では大変お世話になりました、ありがとうございます。
$_SERVER['REQUEST_URI']
はリクエストURI を取得するので#以降までは取得できなかったと思います。
考え方を変えて、ページナビで2ページ目以降に行きリンクをクリックすることでトップページ(1ページ目)に戻っているのであれば、$_SERVER["HTTP_REFERER"]
で比較するのが簡単かと思います。
if ( is_front_page() ) { // フロントページ(WordPressのサイトトップ)なら
$ref = preg_match( '/page/', $_SERVER["HTTP_REFERER"] );
if ( !is_paged() and !$ref ) { //1ページ目かつリファラーに page が入っていない
echo "画像1";
}
echo "画像2";
}
gatespaceさん
ご回答、ありがとうございます。
思い通りの動作が出来ました。
「$_SERVER[“HTTP_REFERER”]」戻るボタン設置時も使えるみたいで
大変勉強になりました。
ご教授いただきありがとうございました。