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

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

ただいまの
回答率

90.48%

  • PHP

    20812questions

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

  • WordPress

    7420questions

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

ループをカウントしてナンバリングする。

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 224

OukaMutu

score 1

 前提・実現したいこと

WPでの人気記事ランキングをプラグインで行っており順位をつけようとjQueryでナンバリングをしたいのですが
上手くいきません。

<?php if (function_exists('wpp_get_mostpopular')) {
 $arg = array (
  'range' => 'weekly',//集計する期間(weekly,monthly,all)
  'order_by' => 'views',//閲覧数で集計(comments(コメント数で集計),avg(1日の平均で集計))
  'post_type' => 'post',//ポストタイプを指定(post,page,カスタムポスト名)
  'stats_comments' => '1',//コメント数表示(1 or 0)
  'limit' => 12, //表示数
  'stats_views' => 1,//閲覧数表示(1 or 0)
  'thumbnail_width' => '245',//サムネイルの幅
  'thumbnail_height' => '345',//サムネイルの高さ
  'wpp_start'         => '<div class="row">',
  'wpp_end'           => '</div>', 
  'post_html' => '
<div class="col-sm-6 col-md-4 col-lg-4" id="divCount">
  <div class="well well-sm">
   <a href="{url}">
    <div class="thumb-overlay">
     <img src="{thumb_url}" alt="{text_title}" class="img-responsive">
    </div>
     <span class="post-title title-truncate m-t-5">{text_title}</span>
   </a>
     <div class="post-added">順位:<span class="cnt"></span></div>
     <div class="post-views pull-left">閲覧数:{views}</div>
     <div class="clearfix"></div>
  </div>
 </div>
' );
 wpp_get_mostpopular($arg);
 }
endif; ?>


行いたい事は<div class="***" id="divCount">でループカウントを取り<span class="cnt"></span>にカウント数を表示させ
順位としたいと思っています。

[ループ]
<div class="col-sm-6 col-md-4 col-lg-4" id="divCount">
<div class="well well-sm">
<a href="{url}">
<div class="thumb-overlay">
<img src="{thumb_url}" alt="{text_title}" class="img-responsive">
</div>
<span class="post-title title-truncate m-t-5">{text_title}</span>
</a>
<div class="post-added">順位:<span class="cnt">[カウント数]</span></div>
<div class="post-views pull-left">閲覧数:{views}</div>
<div class="clearfix"></div>
</div>
</div>
[ループ]

上記がループするhtmlタグになります。
固定ページ(page-hoge.php)に直接 wp popular posts のコードを書き表示させています。

 発生している問題・エラーメッセージ

Uncaught SyntaxError: missing ) after argument list

 該当のソースコード

<script type="text/javascript">
jQuery(document).ready(function($){
  $("#divCount div").each(function (i) {
    i = i+1;
    $(this).prepend('<span class="cnt">#'i'</span>');
   });
});
</script>

 補足情報

Wordpress 4.9
WordPress Popular Posts 4.0.13
php5.6

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

回答 2

checkベストアンサー

+1

エラー解消だけなら以下

$(this).prepend('<span class="cnt">#'i'</span>');

↓

$(this).prepend('<span class="cnt">#'+i+'</span>');

ただ、あえてJavaScriptで後でつけなおすのはどうしてでしょうか?
PHPだけで完結できそうに思いますが。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/05/08 14:50

    アドバイスを頂き有難うございます。
    エラーは解消されましたが意図したものにはならず解決には至らず頭を抱えております。
    デザイン上、<ol></ol><ul></ul>等のリストタグが使えないのでcssでのナンバリングも
    使えず、PHPの知識も乏しいので現状、八方塞がり状態です。

    キャンセル

  • 2018/05/08 14:54

    おそらくそうではないかと思います。
    画面表示時に出すのであればPHP側でナンバリングをして画面出力された方が良いですね。
    どのように出したいのか、htmlで書けますか?(もしくは現在の画面からどのように出したいかを図示するのでも良いです)質問に追記してください。

    キャンセル

+1

$(this).prepend('<span class="cnt">#' + i + '</span>'); じゃなく?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/05/08 14:52

    無事にエラーは解消されましたが意図していたものにはならず更なる深みにハマってしまいました。
    回答して頂き有難うございます。

    キャンセル

関連した質問

同じタグがついた質問を見る

  • PHP

    20812questions

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

  • WordPress

    7420questions

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