質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1932閲覧

前後の記事一覧へのリンクがうまく機能しない

退会済みユーザー

退会済みユーザー

総合スコア0

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/09/07 11:07

編集2020/09/13 06:34

前後の記事一覧へのリンクを表示するプログラムを組んだんですがうまく機能しません。リンクの画像の部分を押しても投稿が変わりません。カスタム投稿タイプは混ぜています。1つめはfront-page.phpを使っており、2つめはfunction.phpです。
コードを変えたんですけど機能しません。Older Entriesと,Newer Entriesというリンクのついた文字が出るだけです。
イメージ説明
コードを変更したらこの画面が出てきます。

php

1<div id="main-home"> 2 <div class="home-slido"> 3 <?php 4 $args = array( 5 'post_type' => 'post', 6 'category_name' => 'スライド', 7 ); 8 $the_query = new WP_Query( $args ); 9 if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : 10 $the_query->the_post(); ?> 11 <div class="home-content"> 12 <?php the_content(); ?> 13 <?php endwhile; ?> 14 <?php endif; ?> 15 <?php wp_reset_postdata(); ?> 16 </div> 17 </div> 18 <div id="NEWS"> 19 <div class="NEWS-title"> 20 <h1>news</h1> 21 </div> 22 <div class="tab-wrap"> 23 <div class="tab-group"> 24 <div class="tab is-active">全て</div> 25 <div class="tab">お知らせ</div> 26 <div class="tab">ブログ</div> 27 </div> 28 </div> 29 <div class="panel-group"> 30 <div class="panel is-show"> 31 <?php 32 $args = array( 33 'post_type' => 'post', 34 'category_name' => 'news,blog', 35 ); 36 $the_query = new WP_Query( $args ); 37 if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : 38 $the_query->the_post(); ?> 39 <div class="left-post-date"> 40 <?php echo get_the_date(); ?> 41 </div> 42 <div class="left-post-item"> 43 <?php the_category(); ?> 44 </div> 45 <a href="<?php the_permalink(); ?>" class="left-post-title"> 46 <?php echo get_the_title(); ?></a> 47 <?php endwhile; ?> 48 <?php endif; ?> 49 <?php wp_reset_postdata(); ?> 50 </div> 51 <div class="panel"> 52 <?php 53 $args = array( 54 'post_type' => 'news', 55 'category_name' => 'news', 56 ); 57 $the_query = new WP_Query( $args ); 58 if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : 59 $the_query->the_post(); ?> 60 <div class="center-news-date"> 61 <?php echo get_the_date(); ?> 62 </div> 63 <div class="center-news-item"> 64 <?php the_category(); ?> 65 </div> 66 <a href="<?php the_permalink(); ?>" class="center-news-title"> 67 <?php the_title(); ?></a> 68 <?php endwhile; ?> 69 <?php endif; ?> 70 <?php wp_reset_postdata(); ?> 71 </div> 72 <div class="panel"> 73 <?php 74 $args = array( 75 'post_type' => 'blog', 76 'category_name' => 'blog', 77 ); 78 $the_query = new WP_Query( $args ); 79 if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : 80 $the_query->the_post(); ?> 81 <div class="left-news-date"> 82 <?php echo get_the_date(); ?> 83 </div> 84 <div class="left-news-item"> 85 <?php the_category(); ?> 86 </div> 87 <a href="<?php the_permalink(); ?>" class="left-news-title"> 88 <?php the_title(); ?></a> 89 <?php endwhile; ?> 90 <?php endif; ?> 91 <?php wp_reset_postdata(); ?> 92 </div> 93 </div> 94 </div> 95 </div> 96<div class="link"> 97$paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; 98// サブループ条件 99$args = array( 100 'post_type' => 'post', // 投稿 101 'posts_per_page' => 3, // 表示件数 102 'category_name' => 'blog,news', // カテゴリ// ページ番号 103); 104// サブループ情報を取得して「$the_query」変数に代入 105$the_query = new WP_Query($args); 106?> 107<?php /***** サブループ開始 *****/ ?> 108<?php if ($the_query->have_posts()) : ?> 109<?php while ($the_query->have_posts()) : ?> 110<?php $the_query->the_post(); ?> 111 112<?php /**** ▼1件分の投稿内容HTML ****/ ?> 113 <div class="box"> 114 <a href="<?php the_permalink(); ?>"> 115 <div class="item-title"><?php the_title(); ?></div> 116 </a> 117 </div><!-- .box --> 118<?php /**** ▲1件分の投稿内容HTML ****/ ?> 119 120<?php endwhile; ?> 121<?php endif; ?> 122<?php wp_reset_postdata(); ?> 123 124<?php /***** サブループ終了 *****/ ?> 125<?php // ページネーション ?> 126<?php 127if ( subPagination() ) { 128 echo subPagination(); 129} 130?> 131</div> 132コード

php

1function change_posts_per_page($query) { 2 3 if ( is_admin() || ! $query->is_main_query() ){ 4 return; 5 } 6 if ( is_front_page() && $query->is_main_query() ){ 7 $query->set('post_type', array( 'post', 'news','blog')); 8 return; 9 } 10 } 11 add_action( 'pre_get_posts', 'change_posts_per_page' ); 12 13function subPagination($end_size = 1, $mid_size = 2, $prev_next = true) { 14 global $the_query; 15 16 $page_format = paginate_links( 17 array( 18 'current' => max(1, get_query_var('page')), 19 'total' => $the_query->max_num_pages, 20 'type' => 'array', 21 'prev_text' => '前へ',//前へのリンク文言 22 'next_text' => '次へ',//次へのリンク文言 23 'end_size' => $end_size,//初期値:1 両端のページリンクの数 24 'mid_size' => $mid_size,//初期値:2 現在のページの両端にいくつページリンクを表示するか(現在のページは含まない) 25 'prev_next' => $prev_next,//初期値:true リストの中に「前へ」「次へ」のリンクを含むか 26 ) 27 ); 28 $code = ''; 29 if( is_array($page_format) ) { 30 $paged = get_query_var('page') == 0 ? 1 : get_query_var('page'); 31 $code .= '<div class="pagination">'.PHP_EOL; 32 $code .= '<ul>'.PHP_EOL; 33 foreach ( $page_format as $page ) { 34 $code .= '<li>'.$page.'</li>'.PHP_EOL; 35 } 36 $code .= '</ul>'.PHP_EOL; 37 $code .= '</div>'.PHP_EOL; 38 $code .= '<div class="pagination-total">'.$paged.'/'.$the_query->max_num_pages.'</div>'.PHP_EOL; 39 } 40 wp_reset_query(); 41 return $code; 42 } 43コード

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/09/07 11:21

回答にはfront-page.phpの全体が必要だろう
退会済みユーザー

退会済みユーザー

2020/09/07 12:18

分かりました
退会済みユーザー

退会済みユーザー

2020/09/12 00:23

コード自体が間違っている感じですか?
guest

回答1

0

ベストアンサー

この辺を参考。

テンプレートタグ/next posts link
WP_Query でループさせたとき
$paged

投稿2020/09/07 13:42

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/09/09 09:41

テンプレートタグの詳しい書き方を教えてくれるとありがたいです。
退会済みユーザー

退会済みユーザー

2020/09/09 14:33 編集

まずは試行錯誤した結果をどうぞ。 まだ試行錯誤していないなら試行錯誤してから試行錯誤した詳細内容のコメントをどうぞ。
退会済みユーザー

退会済みユーザー

2020/09/09 14:43

分かりました
退会済みユーザー

退会済みユーザー

2020/09/12 00:08

本文編集に対し 違う。
退会済みユーザー

退会済みユーザー

2020/09/12 00:17

ページエラーが発生しました。
退会済みユーザー

退会済みユーザー

2020/09/12 00:21

だからやってる事が違う
退会済みユーザー

退会済みユーザー

2020/09/12 00:43

うまく機能しないのですが、関数リファレンスが間違っているんでしょうか?
退会済みユーザー

退会済みユーザー

2020/09/12 02:09

だーかーらー やってる事が違う
退会済みユーザー

退会済みユーザー

2020/09/12 02:36

やってることが違うんですね むずいですね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問