WordPress3でランキングサイトを作ろうと、cdnvoteをインストール。

使い方がわかりません。

cdnvoteをインストール後、有効化して、
外観→テーマ編集→index.php
WordPress3のデフォルトのテーマ「Twenty Ten」のindex.php

show_cdnvote_form();
を加えました。
この修正が思ったようにできていないようで、
やりたい事:投稿した記事毎&下に投票内容が出る
私が修正したら:記事毎ではなく、ページの下に出る
になってしまいました。

勉強不足ですいません。
show_cdnvote_form();
をどこにいれればいいのか、ということだと思います。

以下が、
Twenty Ten: メインインデックスのテンプレート (index.php)
のget_header(); ?>以下の部分です。
show_cdnvote_form();

は私がいれました。
どこが間違いなのか、教えて頂けると助かります。

get_header(); ?>
<div id="container">
<div id="content" role="main">
<?php
get_template_part( 'loop', 'index' );
show_cdnvote_form();
?>
</div><!-- #content -->
</div><!-- #container -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/07/07 10:06:32
  • 終了:2011/07/08 19:58:44

ベストアンサー

id:nasu201 No.4

TAKE回答回数10ベストアンサー獲得回数62011/07/08 18:41:11

ポイント100pt

1.今見ると反映されているようなので、たぶん時間がかかるのだと思います。

WP Super Cacheなどのキャッシュ系のプラグインを入れていると、変更がすぐに反映されなくなることがあります。

2.cdnvote/cdnvote.phpをみると

function show_cdnvote_average() {

があるので、その関数をshow_cdnvote_total()などとしてコピーし、修正すればできるかもしれないです。

*記事の得点の高い順にリストを表示 はウィジェットでも表示できるようなので、ウィジェットに配置すればよいと思います。そのままだとウィジェットではPHPを実行できないので、ウィジェットでPHPを実行できるようにするプラグインExecutable PHP widgetを使うと良いと思います。

id:kohhi

早速お返事ありがとうございます。

>その関数をshow_cdnvote_total()などとして

エラーになりました。

ここまでですかね。

Fatal error: Call to undefined function show_cdnvote_total() in

>Executable PHP

これは勉強してみます。

質問が多すぎてすいません。

混乱すると思います。

この質問は一度終了して、別の質問を投稿しました。

質問は2つです。

http://q.hatena.ne.jp/1310122302

http://q.hatena.ne.jp/1310122383

ありがとうございました。

今後の質問も是非よろしくお願いします。

2011/07/08 19:56:00

その他の回答(3件)

id:online_p No.1

online_p回答回数1153ベストアンサー獲得回数592011/07/07 12:05:00

ポイント50pt

記事毎だったら、page.phpに入れないといけないと思います。

id:nasu201 No.2

TAKE回答回数10ベストアンサー獲得回数62011/07/07 14:20:29

ポイント100pt

index(メインページ)で投稿記事ごとに投票フォームを表示する場合はloop.phpに記述すれば良いと思います。テーマtwentytenのloop.phpの150行目付近に

150 <?php if ( count( get_the_category() ) ) : ?>
151 <span class="cat-links">

というコードがあるので、その間に入れるとカテゴリの上に表示されました。

※数字は行数で、実際のソースにはないです。表示のためにタブを消去してます

記述後は下記のようになります。

150 <?php if ( count( get_the_category() ) ) : ?>
151 <?php show_cdnvote_form(); ?>
152 <span class="cat-links">

また、一つの記事だけを表示した場合のループ処理はloop-single.phpが行っているので、一つの記事だけを表示した場合にフォームを表示するなら、loop-single.phpの

<?php the_content(); ?>

の下に記述すれば良いと思います。

id:kohhi

お手数おかけしてすいません。

別のパソコン(隣の市)から、

http://idscorp.xsrv.jp/wordpress/

に、投票しました。

投稿記事の投稿内容

テスト3:5点&5点

テスト2:1点&5点

テスト1:4点&5点

HelloWorld:5点&5点

http://idscorp.xsrv.jp/wordpress/

1.右上の「1.Hello world! (5.0)」(テスト3など他の投稿も)得点が増えないのでしょうか。

*反映されるまで時間がかかる?

2.作者のサイト

http://www.crossdrive.net/wp/archives/686

オリジナルタグ

を設置しましたが、記事の投票された得点ではなく、平均です。

総得点は表示できないのでしょうか。(average()なので無理かな)

また、

*記事の得点の高い順にリストを表示

の設置の仕方がわかりません。

お手数おかけしてすません。

よろしくお願いします。

2011/07/08 17:28:19
id:syntaxerror No.3

syntaxerror回答回数354ベストアンサー獲得回数562011/07/07 15:26:58

ポイント50pt

投稿のコメント欄の上に出したければ

loop-single.php

の下の方にある

<?php comments_template( '', true ); ?>

のひとつ前の行に

<?php show_cdnvote_form(); ?>
<?php comments_template( '', true ); ?>

と入れればいい感じに表示できます。

単ページに出したければ

loop-page.php

で同様に場所に入れるといいです。

id:nasu201 No.4

TAKE回答回数10ベストアンサー獲得回数62011/07/08 18:41:11ここでベストアンサー

ポイント100pt

1.今見ると反映されているようなので、たぶん時間がかかるのだと思います。

WP Super Cacheなどのキャッシュ系のプラグインを入れていると、変更がすぐに反映されなくなることがあります。

2.cdnvote/cdnvote.phpをみると

function show_cdnvote_average() {

があるので、その関数をshow_cdnvote_total()などとしてコピーし、修正すればできるかもしれないです。

*記事の得点の高い順にリストを表示 はウィジェットでも表示できるようなので、ウィジェットに配置すればよいと思います。そのままだとウィジェットではPHPを実行できないので、ウィジェットでPHPを実行できるようにするプラグインExecutable PHP widgetを使うと良いと思います。

id:kohhi

早速お返事ありがとうございます。

>その関数をshow_cdnvote_total()などとして

エラーになりました。

ここまでですかね。

Fatal error: Call to undefined function show_cdnvote_total() in

>Executable PHP

これは勉強してみます。

質問が多すぎてすいません。

混乱すると思います。

この質問は一度終了して、別の質問を投稿しました。

質問は2つです。

http://q.hatena.ne.jp/1310122302

http://q.hatena.ne.jp/1310122383

ありがとうございました。

今後の質問も是非よろしくお願いします。

2011/07/08 19:56:00

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません