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

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

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

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

PHP

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

Q&A

解決済

1回答

1960閲覧

プラグインを使わずランキングを表示させたい

退会済みユーザー

退会済みユーザー

総合スコア0

WordPress

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

PHP

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

0グッド

0クリップ

投稿2017/08/18 01:31

###前提・実現したいこと
サイドバーにランキング表示させるために下記のサイトを参考しています。
開発環境では問題なく表示できていたのですが、本番環境に反映されずに困っています。
wpb_set_post_views関数でカスタムフィールドを追加しているはずなのに、本番環境ではカスタムフィールドが追加できていませんでした。
お手数をおかけしますが、原因追究にお力添えいただければ幸いです。

参考サイト

###sideber.php

<h2>ランキング</h2> <div> <ul class="ranking-list"> <?php $popularpost = new WP_Query(array('posts_per_page' => 5, 'meta_key' => 'wpb_post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC')); ?> <?php $i=1; while ( $popularpost->have_posts() ) : $popularpost->the_post();?> <li> <a href="<?php the_permalink(); ?>"> <span class="num"><?php echo $i; ?></span> <?php the_title(); ?> </a> </li> <?php $i++; endwhile; ?> </ul> </div>

###function.php

function wpb_set_post_views($postID) { $count_key = 'wpb_post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ $count = 0; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); }else{ $count++; update_post_meta($postID, $count_key, $count); } } remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); function wpb_track_post_views ($post_id) { if ( !is_single() ) return; if ( empty ( $post_id) ) { global $post; $post_id = $post->ID; } wpb_set_post_views($post_id); } add_action( 'wp_head', 'wpb_track_post_views'); add_action('my_hourly_event', 'my_hourly_action'); function my_hourly_action() { $args = array( 'posts_per_page' => -1, 'post_type' => array( 'post' ) ); $the_query = new WP_Query($args); $count_key = 'wpb_post_views_count'; delete_post_meta_by_key('wpb_post_views_count'); if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); $post_id = $the_query->post->ID; $count = get_post_meta($post_id, $count_key, true); if(empty($count)){ $count = 0; delete_post_meta($post_id, $count_key); add_post_meta($post_id, $count_key, '0'); }else{ $count++; update_post_meta($post_id, $count_key, 0); } endwhile; endif; } add_filter('cron_schedules', 'my_interval' ); function my_interval($schedules) { date_default_timezone_set( 'Asia/Tokyo' ); $dt = new DateTime('now'); $dt_2 = new DateTime('midnight first day of next month'); $d = $dt_2->diff($dt, true); $dt_array = get_object_vars($d); $day = $dt_array["d"] * 24 * 60 * 60; $hour = $dt_array["h"] * 60 * 60; $minutes = $dt_array["i"] * 60; $second = $dt_array["s"]; $difftime = $day + $hour + $minutes + $second + 60; $schedules['Nextmonth'] = array( 'interval' => $difftime, 'display' => 'Nextmonth' ); return $schedules; } function my_activation() { if(!wp_next_scheduled('my_hourly_event')){ wp_schedule_event(time(), 'Nextmonth', 'my_hourly_event'); } } add_action('wp', 'my_activation'); register_deactivation_hook(__FILE__, 'my_deactivation'); function my_deactivation() { wp_clear_scheduled_hook('my_hourly_event'); }

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

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

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

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

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

guest

回答1

0

ベストアンサー

特に問題ないみたいですけど?

1.実は編集しているファイルが使用中のテーマではなかった。
2.ファイル名をfunctions.phpとしたつもりが実はfunction.phpだった。

どちらもあるあるかと…

投稿2017/08/18 08:29

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2017/08/18 09:59

ソースコードを確認していただきありがとうございます。 ご回答いただいた内容を再度確認してみます。 ありがとうございました。
退会済みユーザー

退会済みユーザー

2017/08/18 10:44

質問にfunction.phpと記載されていますが、実際はどうだったのでしょうか?
shinozaki

2018/07/17 02:43

同じ現象で悩まされましたがheader.php等に<?php wp_head(); ?>が入っていないと上手くカウントがされませんがいかがでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問