回答編集履歴

5 追記

dit.

dit. score 2532

2017/10/12 23:56  投稿

追記・修正依頼に書くには長すぎたので回答へ書きましたがこの回答では何も解決していないことを先にお伝えしておきます。
 →追記したもので解決したようです。
昨日の質問の流れと今回の質問を見て、質問内容(と回答内容)がうまく伝わっていないように思ったのでまとめです。
勝手にまとめてしまいましたがこの解釈も間違っている可能性があります。
昨日の質問のはじめの時点では、
- index.phpで記事一覧を表示している(ページングあり)
- 特定のスラッグ(今回の場合egg)を持つ投稿が存在する
- 「設定」→「表示設定」→1ページに表示する最大投稿数 を2にしている
- eggを含め投稿が5件あるので3ページ分あるはず(page/2/とpage/3/が存在する)
eggの投稿が投稿一覧の何ページ目に存在するかを知りたい(最終的にそこにリンクさせたい)というのが質問内容だと思います。
もしこの順(↓)に投稿が表示されていたらhttp://localhost/wordpress/blog/page/3/にリンクしたい
```
apple
banana
<!-- ページ区切り -->
candy
dog
<!-- ページ区切り -->
egg
```
そのリンクをどこに表示したいのか、最終的に何がしたいのかが解りづらく、
質問を編集するうちにeggの事が消え、
ウィジェットの最近の投稿を使っているという情報が入り、
最近の投稿そのものをカスタマイズすることは難しいからそれと同じことができるような事ができるコードを書いて、リンク先を「投稿一覧」にすればいいという回答がついたと見ています。
この時点で質問からeggの事が消えているので「何ページ目にeggがあるかの判断」は考慮されてません。
そのため http://投稿一覧のURL としか回答されておらず、質問者さんと回答者さんの間で認識のズレがおきているのではないかと思います。
条件分岐やなんやかんやうまく使えばできそうな気がしたんですが私には無理でした。
---
追記
とりあえず2件ずつの場合にはどうにかなるんではないでしょうか。
書き方が完ぺきではないと思いますが
```html
<?php
$args = array(
   'post_type' => 'post',
   'posts_per_page' => 10,
   );
   $the_query = new WP_Query( $args );
   if ( $the_query->have_posts() ):
?>
<ul>
<?php
   while ( $the_query->have_posts() ):
   $the_query->the_post();
$x++;
$pageno = $x-1;
$pageno = $pageno/2;
$pageno = floor($pageno)+1;
?>
<li><a href="<?php echo home_url('/'); ?>page/<?php echo $pageno; ?>" ><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>
<?php endif; wp_reset_query(); ?>
```
再度追記
ページの計算をややこしく考えすぎました。
```html
<?php
$args = array(
   'post_type' => 'post',
   'posts_per_page' => 20,
   );
   $the_query = new WP_Query( $args );
   if ( $the_query->have_posts() ):
$x ='';  
?>
<ul>
<?php
   while ( $the_query->have_posts() ):
   $the_query->the_post();
$x++;
$pageno = $x;
$pageno = $pageno/2;
$pageno = ceil($pageno);
?>
<?php if($pageno==1): ?>
<li><a href="<?php echo home_url('/'); ?>" ><?php the_title(); ?></a></li>
<?php else : ?>
<li><a href="<?php echo home_url('/'); ?>page/<?php echo $pageno; ?>" ><?php the_title(); ?></a></li>
<?php endif; ?>
<?php endwhile; ?>
</ul>
<?php endif; wp_reset_query(); ?>
```
4 追記

dit.

dit. score 2532

2017/10/12 23:03  投稿

追記・修正依頼に書くには長すぎたので回答へ書きましたがこの回答では何も解決していないことを先にお伝えしておきます。
 →追記したもので解決したようです。
昨日の質問の流れと今回の質問を見て、質問内容(と回答内容)がうまく伝わっていないように思ったのでまとめです。
勝手にまとめてしまいましたがこの解釈も間違っている可能性があります。
昨日の質問のはじめの時点では、
- index.phpで記事一覧を表示している(ページングあり)
- 特定のスラッグ(今回の場合egg)を持つ投稿が存在する
- 「設定」→「表示設定」→1ページに表示する最大投稿数 を2にしている
- eggを含め投稿が5件あるので3ページ分あるはず(page/2/とpage/3/が存在する)
eggの投稿が投稿一覧の何ページ目に存在するかを知りたい(最終的にそこにリンクさせたい)というのが質問内容だと思います。
もしこの順(↓)に投稿が表示されていたらhttp://localhost/wordpress/blog/page/3/にリンクしたい
```
apple
banana
<!-- ページ区切り -->
candy
dog
<!-- ページ区切り -->
egg
```
そのリンクをどこに表示したいのか、最終的に何がしたいのかが解りづらく、
質問を編集するうちにeggの事が消え、
ウィジェットの最近の投稿を使っているという情報が入り、
最近の投稿そのものをカスタマイズすることは難しいからそれと同じことができるような事ができるコードを書いて、リンク先を「投稿一覧」にすればいいという回答がついたと見ています。
この時点で質問からeggの事が消えているので「何ページ目にeggがあるかの判断」は考慮されてません。
そのため http://投稿一覧のURL としか回答されておらず、質問者さんと回答者さんの間で認識のズレがおきているのではないかと思います。
条件分岐やなんやかんやうまく使えばできそうな気がしたんですが私には無理でした。
---
追記
とりあえず2件ずつの場合にはどうにかなるんではないでしょうか。
書き方が完ぺきではないと思いますが
```html
<?php
$args = array(
   'post_type' => 'post',
   'posts_per_page' => 10,
   );
   $the_query = new WP_Query( $args );
   if ( $the_query->have_posts() ):
?>
<ul>
<?php
   while ( $the_query->have_posts() ):
   $the_query->the_post();
$x++;
$pageno = $x-1;
$pageno = $pageno/2;
$pageno = floor($pageno)+1;
?>
<li><a href="<?php echo home_url('/'); ?>page/<?php echo $pageno; ?>" ><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>
<?php endif; wp_reset_query(); ?>
```
これでもやりたいことと違うのであれば「質問者さんのやりたいこと」と私が読み取った内容が違うということでこれ以上はお手上げです。
再度追記
ページの計算をややこしく考えすぎました。
```html
<?php
$args = array(
   'post_type' => 'post',
   'posts_per_page' => 20,
   );
   $the_query = new WP_Query( $args );
   if ( $the_query->have_posts() ):
?>
<ul>
<?php
   while ( $the_query->have_posts() ):
   $the_query->the_post();
$x++;
$pageno = $x;
$pageno = $pageno/2;
$pageno = ceil($pageno);
?>
<?php if($pageno==1): ?>
<li><a href="<?php echo home_url('/'); ?>" ><?php the_title(); ?></a></li>
<?php else : ?>
<li><a href="<?php echo home_url('/'); ?>page/<?php echo $pageno; ?>" ><?php the_title(); ?></a></li>
<?php endif; ?>
<?php endwhile; ?>
</ul>
<?php endif; wp_reset_query(); ?>
```
3 補足

dit.

dit. score 2532

2017/10/12 22:05  投稿

追記・修正依頼に書くには長すぎたので回答へ書きましたがこの回答では何も解決していないことを先にお伝えしておきます。
 →追記したもので解決したようです。  
昨日の質問の流れと今回の質問を見て、質問内容(と回答内容)がうまく伝わっていないように思ったのでまとめです。
勝手にまとめてしまいましたがこの解釈も間違っている可能性があります。
昨日の質問のはじめの時点では、
- index.phpで記事一覧を表示している(ページングあり)
- 特定のスラッグ(今回の場合egg)を持つ投稿が存在する
- 「設定」→「表示設定」→1ページに表示する最大投稿数 を2にしている
- eggを含め投稿が5件あるので3ページ分あるはず(page/2/とpage/3/が存在する)
eggの投稿が投稿一覧の何ページ目に存在するかを知りたい(最終的にそこにリンクさせたい)というのが質問内容だと思います。
もしこの順(↓)に投稿が表示されていたらhttp://localhost/wordpress/blog/page/3/にリンクしたい
```
apple
banana
<!-- ページ区切り -->
candy
dog
<!-- ページ区切り -->
egg
```
そのリンクをどこに表示したいのか、最終的に何がしたいのかが解りづらく、
質問を編集するうちにeggの事が消え、
ウィジェットの最近の投稿を使っているという情報が入り、
最近の投稿そのものをカスタマイズすることは難しいからそれと同じことができるような事ができるコードを書いて、リンク先を「投稿一覧」にすればいいという回答がついたと見ています。
この時点で質問からeggの事が消えているので「何ページ目にeggがあるかの判断」は考慮されてません。
そのため http://投稿一覧のURL としか回答されておらず、質問者さんと回答者さんの間で認識のズレがおきているのではないかと思います。
条件分岐やなんやかんやうまく使えばできそうな気がしたんですが私には無理でした。
---
追記
とりあえず2件ずつの場合にはどうにかなるんではないでしょうか。
書き方が完ぺきではないと思いますが
```html
<?php
$args = array(
   'post_type' => 'post',
   'posts_per_page' => 10,
   );
   $the_query = new WP_Query( $args );
   if ( $the_query->have_posts() ):
?>
<ul>
<?php
   while ( $the_query->have_posts() ):
   $the_query->the_post();
$x++;
$pageno = $x-1;
$pageno = $pageno/2;
$pageno = floor($pageno)+1;
?>
<li><a href="<?php echo home_url('/'); ?>page/<?php echo $pageno; ?>" ><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>
<?php endif; wp_reset_query(); ?>
```
これでもやりたいことと違うのであれば「質問者さんのやりたいこと」と私が読み取った内容が違うということでこれ以上はお手上げです。
2 追記

dit.

dit. score 2532

2017/10/12 21:13  投稿

追記・修正依頼に書くには長すぎたので回答へ書きましたがこの回答では何も解決していないことを先にお伝えしておきます。
昨日の質問の流れと今回の質問を見て、質問内容(と回答内容)がうまく伝わっていないように思ったのでまとめです。
勝手にまとめてしまいましたがこの解釈も間違っている可能性があります。
昨日の質問のはじめの時点では、
- index.phpで記事一覧を表示している(ページングあり)
- 特定のスラッグ(今回の場合egg)を持つ投稿が存在する
- 「設定」→「表示設定」→1ページに表示する最大投稿数 を2にしている
- eggを含め投稿が5件あるので3ページ分あるはず(page/2/とpage/3/が存在する)
eggの投稿が投稿一覧の何ページ目に存在するかを知りたい(最終的にそこにリンクさせたい)というのが質問内容だと思います。
もしこの順(↓)に投稿が表示されていたらhttp://localhost/wordpress/blog/page/3/にリンクしたい
```
apple
banana
<!-- ページ区切り -->
candy
dog
<!-- ページ区切り -->
egg
```
そのリンクをどこに表示したいのか、最終的に何がしたいのかが解りづらく、
質問を編集するうちにeggの事が消え、
ウィジェットの最近の投稿を使っているという情報が入り、
最近の投稿そのものをカスタマイズすることは難しいからそれと同じことができるような事ができるコードを書いて、リンク先を「投稿一覧」にすればいいという回答がついたと見ています。
この時点で質問からeggの事が消えているので「何ページ目にeggがあるかの判断」は考慮されてません。
そのため http://投稿一覧のURL としか回答されておらず、質問者さんと回答者さんの間で認識のズレがおきているのではないかと思います。
条件分岐やなんやかんやうまく使えばできそうな気がしたんですが私には無理でした。
条件分岐やなんやかんやうまく使えばできそうな気がしたんですが私には無理でした。
---
追記
とりあえず2件ずつの場合にはどうにかなるんではないでしょうか。
書き方が完ぺきではないと思いますが
```html
<?php
$args = array(
   'post_type' => 'post',
   'posts_per_page' => 10,
   );
   $the_query = new WP_Query( $args );
   if ( $the_query->have_posts() ):
?>
<ul>
<?php
   while ( $the_query->have_posts() ):
   $the_query->the_post();
$x++;
$pageno = $x-1;
$pageno = $pageno/2;
$pageno = floor($pageno)+1;
?>
<li><a href="<?php echo home_url('/'); ?>page/<?php echo $pageno; ?>" ><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>
<?php endif; wp_reset_query(); ?>
```
これでもやりたいことと違うのであれば「質問者さんのやりたいこと」と私が読み取った内容が違うということでこれ以上はお手上げです。
1 分かりづらい表記の削除

dit.

dit. score 2532

2017/10/12 16:50  投稿

追記・修正依頼に書くには長すぎたので回答へ書きましたがこの回答では何も解決していないことを先にお伝えしておきます。
昨日の質問の流れと今回の質問を見て、質問内容(と回答内容)がうまく伝わっていないように思ったのでまとめです。
勝手にまとめてしまいましたがこの解釈も間違っている可能性があります。
昨日の質問のはじめの時点では、
- index.phpで記事一覧を表示している(ページングあり)
- 特定のスラッグ(今回の場合egg)を持つ投稿が存在する
- 「設定」→「表示設定」→1ページに表示する最大投稿数 を2にしている
- eggを含め投稿が5件あるので3ページ分あるはず(page/2/とpage/3/が存在する)
eggの投稿が投稿一覧の何ページ目に存在するかを知りたい(最終的にそこにリンクさせたい)というのが質問内容だと思います。
もしこの順(↓)に投稿が表示されていたらhttp://localhost/wordpress/blog/page/3/にリンクしたい
```
apple
banana
<!-- ページ区切り -->
candy
dog
<!-- ページ区切り -->
egg
```
- 現在表示されているページが何ページ目だか知りたいわけではない  
- eggの投稿そのものにリンクしたいわけではない  
 
そのリンクをどこに表示したいのか、最終的に何がしたいのかが解りづらく、
質問を編集するうちにeggの事が消え、
ウィジェットの最近の投稿を使っているという情報が入り、
最近の投稿そのものをカスタマイズすることは難しいからそれと同じことができるような事ができるコードを書いて、リンク先を「投稿一覧」にすればいいという回答がついたと見ています。
この時点で質問からeggの事が消えているので「何ページ目にeggがあるかの判断」は考慮されてません。
そのため http://投稿一覧のURL としか回答されておらず、質問者さんと回答者さんの間で認識のズレがおきているのではないかと思います。
条件分岐やなんやかんやうまく使えばできそうな気がしたんですが私には無理でした。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る