人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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(); ?>

●質問者: kohhi
●カテゴリ:ウェブ制作
✍キーワード:INDEX LOOP PHP インストール インデックス
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● online_p
●50ポイント

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


2 ● TAKE
●100ポイント

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(); ?>

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

◎質問者からの返答

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

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

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()なので無理かな)

また、

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

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

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

よろしくお願いします。


3 ● syntaxerror
●50ポイント

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

loop-single.php

の下の方にある

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

のひとつ前の行に

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

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

単ページに出したければ

loop-page.php

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


4 ● TAKE
●100ポイント ベストアンサー

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

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

2.cdnvote/cdnvote.phpをみると

function show_cdnvote_average() {

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

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

◎質問者からの返答

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

>その関数を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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ