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

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

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

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

Q&A

解決済

1回答

436閲覧

ワードプレスである記事の投稿の表示がindex.phpの何ページ目かゲットしたい

gomatan1258

総合スコア67

WordPress

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

0グッド

0クリップ

投稿2017/10/11 06:07

編集2017/10/11 11:25

大変申し訳ありませんでした。実は当方がやりたいことがございまして、ワードプレスの最近の投稿のウィジェットのところで、そこの記事を選択すると、single.phpが表示されてしまいます。そうではなく、投稿一覧の方に行ってほしくて、何ページ目かをゲットしたかったです。ゲットできても上手くいくかわからないので、無責任な質問でした。申し訳ございません。やりたいことは、最近の投稿のところを選択して、リンクが投稿一覧のほうに遷移することです。

index.php

php

1<?php get_header(); ?> 2 <div id="main" class="container"> 3 <div id="posts"> 4 5 <?php if(have_posts()): 6 while(have_posts()): 7 the_post(); 8 9 ?> 10 <?php $p_slug = get_page_uri(get_the_ID()); ?> 11 <div id="<?php echo $p_slug ?>"></div> 12 13 <div id="test"></div> 14 <div class="post"> 15 <div class="post-header"> 16 <h2> 17 <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> 18 </h2> 19 </div> 20 <div class="post-meta"> 21 <?php echo get_the_date(); ?><?php the_category(', ') ?>22 </div> 23 <div class="post-content"> 24 <div class="post-image"> 25 26 <?php if(has_post_thumbnail()): ?> 27 <?php the_post_thumbnail(array(100, 100)); ?> 28 <?php else: ?> 29 <img src="<?php echo get_template_directory_uri(); ?>/images.jpg" width="100" height="100"> 30 <?php endif; ?> 31 32 </div> 33 <div class="post-body"> 34 <div class="post-body-excerpt"> 35 <?php the_content('',false,''); ?> 36 </div> 37 38 <div class="more"><a href="<?php the_permalink(); ?>">続きを読む</a></div> 39 <a href="<?php echo '#'.$p_slug ?>">ここ</a> 40 </div> 41 42 </div> 43 </div> 44 <?php endwhile; 45 else: 46 ?> 47 48 <p>記事はありません!</p> 49 50 <?php endif; 51 ?> 52 53 <div class="navigation"> 54 <div class="prev"><?php previous_posts_link(); ?></div> 55 <div class="next"><?php next_posts_link(); ?></div> 56 </div> 57 </div><!--/posts--> 58 <?php get_sidebar(); ?> 59 </div><!--/main --> 60 <?php get_footer(); ?>

single.php

php

1<?php get_header(); ?> 2 <div id="main" class="container"> 3 <div id="posts"> 4 5 <?php if(have_posts()): 6 while(have_posts()): 7 the_post(); 8 9 ?> 10 <div class="post"> 11 <div class="post-header"> 12 <h2> 13 <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> 14 </h2> 15 </div> 16 <div class="post-meta"> 17 <?php echo get_the_date(); ?><?php the_category(', ') ?>18 </div> 19 <div class="post-content"> 20 <p> 21 <?php the_content(); ?> 22 </p> 23 24 </div> 25 </div> 26 27 <div class="navigation"> 28 <div class="prev"><?php previous_post_link(); ?></div> 29 <div class="next"><?php next_post_link(); ?></div> 30 </div> 31 32 <?php endwhile; 33 else: 34 ?> 35 36 <p>記事はありません!</p> 37 38 <?php endif; 39 ?> 40 41 </div><!--/posts--> 42 <?php get_sidebar(); ?> 43 </div><!--/main --> 44 <?php get_footer(); ?>

sidebar.php

php

1<div id="sidebar"> 2 <?php dynamic_sidebar(); ?> 3 </div><!--/sidebar-->

header.php

php

1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="UTF-8"> 5 <title><?php wp_title('|', true, 'right'); bloginfo('name'); ?></title> 6 <link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/3.18.1/build/cssreset/cssreset-min.css"> 7 <link rel="stylesheet" type="text/css" href="<?php echo get_stylesheet_uri(); ?>"> 8 <?php wp_head(); ?> 9 </head> 10 <body> 11 <?php if(is_front_page()) { if (get_header_image() !='') { ?> 12 <div id="main_image"> 13 <img src="<?php header_image(); ?>" alt="" title="" /> 14 </div> 15 <?php }; }; ?> 16 <div id="header" class="container"> 17 <h1><a href="<?php echo home_url('/'); ?>"><?php bloginfo('name');?></a></h1> 18 <div class="wrapper"><?php wp_nav_menu(); ?></div> 19 </div><!--/header--> 20

page.php

php

1<?php get_header(); ?> 2 <div id="main" class="container"> 3 <div id="posts"> 4 5 <?php if(have_posts()): 6 while(have_posts()): 7 the_post(); 8 9 ?> 10 <div class="post"> 11 <div class="post-header"> 12 <h2> 13 <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> 14 </h2> 15 </div> 16 17 <div class="post-content"> 18 <?php the_content(); ?> 19 20 </div> 21 </div> 22 23 <?php endwhile; 24 else: 25 ?> 26 27 <p>ページはありません!</p> 28 29 <?php endif; 30 ?> 31 32 </div><!--/posts--> 33 <?php get_sidebar(); ?> 34 </div><!--/main --> 35 <?php get_footer(); ?>

footer.php

php

1<div id="footer" class="container"> 2 Copyright 2017<?php if(date("Y")!=2017) echo date("-Y"); ?> All right reserved, gomatan1258 3 </div><!--/footer--> 4 <?php wp_footer(); ?> 5 6 </body> 7</html>

functions.php

php

1<?php 2 3add_theme_support( 'custom-header' ); 4 5add_theme_support('menus'); 6 7register_sidebar( 8 array( 9 before_widget => '<div class="widget">', 10 after_widget => '</div>', 11 before_title => '<h3>', 12 after_title => '</h3>', 13 ) 14); 15 16add_theme_support('post-thumbnails'); 17 18$cssdir = get_stylesheet_directory_uri(); 19wp_enqueue_script( 'theme-script', $cssdir.'/script.php', array('jquery')); 20 21?>

当方はワードプレス初心者ですがよろしくお願いします。

追記です。
javascriptが使えるプラグイン

javascript

1jQuery(function() { 2 jQuery(".menu li").hover(function() { 3 jQuery(this).children('ul').show(); 4 }, function() { 5 jQuery(this).children('ul').hide(); 6 });//プルダウンメニューが表示されます 7 8 var page; 9 10 jQuery('.more a').on('click', function(event) { 11 //aリンクの動作を停止 12 event.preventDefault(); 13 //リンク先URLを取得 14 page = jQuery(this).attr('href'); 15 jQuery(this).parent().load(page+' div.post-content p',function(){ 16 jQuery(this).parent().children().eq(0).hide(); 17 }); 18 //続きを読む ajaxでページ遷移せずにsingle.phpの一部が表示される 19 }); 20 jQuery('a[href^=#]').click(function(){ 21 var speed = 500; 22 var href= jQuery(this).attr("href"); 23 var target = jQuery(href == "#" || href == "" ? 'html' : href); 24 var position = target.offset().top; 25 jQuery("html, body").animate({scrollTop:position}, speed, "swing"); 26 return false; 27 });//ページ内リンクすることができる 28}); 29

javascriptのほうが間違っていたので変更しました。

最新記事ではなく最近の投稿と書き直しました。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2017/10/11 06:22

1~3ページくらいある記事をどのようにページを分割させているのか等、詳細を書いた方が良いと思います。
gomatan1258

2017/10/11 06:46

表示設定で1ページに2件の投稿で合計5つの投稿を書いています。わかりにくい質問で申し訳ございませんでした。
退会済みユーザー

退会済みユーザー

2017/10/11 06:52

ページを分割しているのではなく、例えばアーカイブ等の記事一覧でのページ数という意味ですか?
gomatan1258

2017/10/11 07:17

次ページに行くと、リンクが/page/2/になったり/page/3/になったりするんですが、自分の投稿した記事が何ページにあるか知りたいです。
退会済みユーザー

退会済みユーザー

2017/10/11 07:34 編集

もう回答しました。 よく見たらテンプレートの中身を張り付けただけなんですかね? 質問文もさることながらこれも丸投げと判断されますよ。
dit.

2017/10/11 07:35

現在何ページ目にいるかを取得したいのではなく、(1ページ目にいたとしても)スラッグeggを持つ投稿が何ページ目に存在するか知りたいということでしょうか?
gomatan1258

2017/10/11 07:37

申し訳ございません、何ページ目にいるかを取得したいです。
gomatan1258

2017/10/11 07:39

eggという記事が何ページに存在するかです。
退会済みユーザー

退会済みユーザー

2017/10/11 07:56

ふーん、勘違いしてますね。じゃあその数値をどこに出すんでしょう?
gomatan1258

2017/10/11 07:59

Simple Custom CSS and JSというプラグインを使って、console.log("<?php $paged = get_query_var( 'future-financial' ); if ( is_paged()) { echo $paged.'ページ目'; } else { echo '1ページ目'; } ?>");としています。
退会済みユーザー

退会済みユーザー

2017/10/11 08:03

それはどのテンプレートに書いてますか?コードは質問文に追記してください。
退会済みユーザー

退会済みユーザー

2017/10/11 08:13

質問を全て修正してください。不要な情報は削除してください。どんなプラグインを使っていてどんな風にどこへ『ページ目』を表示しているのか。
退会済みユーザー

退会済みユーザー

2017/10/11 11:04

んんん?プラグインもeggも関係なくなった…?では、最新記事はどうやって表示してますか?そういうのをキチンと書いていただかないと質問が増えます。
gomatan1258

2017/10/11 11:23

最新記事ではありませんでした。最近の投稿でした。申し訳ございません。
退会済みユーザー

退会済みユーザー

2017/10/11 11:34

記事でも投稿でもどっちでも良いです。 それをサイドバーにどうやって表示してるのか訊いてるんです。 WordPressにデフォルトで存在する最近の投稿のウィジェットを使ってるんですか?
gomatan1258

2017/10/11 11:41

失礼しました。functions.phpにregister_sidebarという関数を入力して、最近の投稿というウィジェットを入れています。
gomatan1258

2017/10/11 11:45

すみません、ドラッグアンドドロップでウィジェットを入れるやつです。
guest

回答1

0

ベストアンサー

これで終わりにしておきます。
WordPressデフォルトのウィジェットの最近の投稿だとカスタマイズ出来ないと思うので、無理矢理出すしか方法は無いと思います。

以下の内容を書き込んで適当なファイル名で保存します。例 recent_posts.php

<?php $args = array( 'post_type' => 'post', //ポストタイプ 'posts_per_page' => 5, //表示件数 ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ): while ( $the_query->have_posts() ): $the_query->the_post(); ?> <p><a href="http://投稿一覧のURL" ><?php the_title();?></a></p> <?php endwhile; endif; wp_reset_query();

テーマのfunctions.phpに以下を追加

// ウィジェットでショートコードを使えるようにする add_filter( 'widget_text', 'do_shortcode' ); // 任意のPHPファイルをショートコード化して扱えるようにする function php_shortcode( $params = array() ) { extract( shortcode_atts( array( 'file' => 'default' ), $params )); ob_start(); include( get_template_directory() . "/$file.php" ); return ob_get_clean(); } add_shortcode( 'my_php', 'php_shortcode' );

カスタムHTMLのウィジェットを追加して以下を書き込む
[my_php file="recent_posts"]

表示件数、URL、レイアウト等は環境に合わせて適宜修正してください。

投稿2017/10/11 07:09

編集2017/10/11 12:15
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

gomatan1258

2017/10/11 12:41

ありがとうございます。やってみます。長くお付き合いいただいてありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問