Moral Hazard!!

ドラマーが音楽やホームページやガラクタを作るよ。

indexページの最新の記事だけ入力フォームを出力する。

No Comment wordpress

インデックスページ(index.php)の最新記事にのみ、コメント入力欄を表示させたい。
その他の記事はコメントのみで入力欄は要らない。

コメントページ2(comment.phpを複製してcomment2.phpに)を作る。
comment2.phpから入力フォームを削除する。
$loopcounterを使って記事のループ回数をカウントし、二つのコメントページに振り分ける。

<?php $loopcounter = 1; ?> //ループ前に$loopcounterを1にする
<?php if(have_posts()):while(have_posts()):the_post(); ?>//記事のループ開始
<?php $withcomments = true; ?>//インデックスページにcomment.phpを読み込むときはこれが必要
<?php if ($loopcounter <= 1) : ?>//$loopcounterが1かそれ以上かで分岐させる
<?php comments_template(); ?>//$loopcounterが1の時はコメントページを呼び出す
<? else : ?> //2以上だった場合↓
<?php comments_template('/comments2.php'); ?>//コメントページ2を呼び出す
<?php endif; ?>//$loopcounterの処理終了
<?php $loopcounter++; ?>//$loopcounterに1を加える
<?php endwhile; else: ?>//記事のループする。もし記事が全く無いときは↓
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>//記事が全く無いときのメッセージ
<?php endif; ?> //終了

Adhesiveプラグインのバグ

No Comment wordpress

wordpressで、特定の投稿をページの最初に持ってくるプラグイン、Adhesive。
しかし、有効にすると
next_posts_link
previous_posts_link
などの前後へのリンク表示が一切出なくなる。
タグのみならず、他のプラグインwp-pagenaviなどでも同様。

解決法。

wordpress2.7以降のバージョンでは、最初から投稿ページの「公開→公開状態」の部分にこの投稿を先頭に固定表示する機能がついている。
全力で
Adhesiveをアンインスコすれば解決。

WordPressの半角→全角自動修正を修正する修正の為の修正

No Comment wordpress

wordpressの本文にサンプルソースなどを記述すると、ご丁寧にもクォーテーションやダブルクォーテーションを自動的に全角に変更してくれる。
結果、そのスクリプトをコピペして使ってもエラーが出る。

修正方法1・プラグインを入れる。

Disable wptexturize

上記サイトからダウンロードし、解凍、pluginフォルダに突っ込みアップロード、管理画面で有効にするだけ。便利。
FCKEditor使用時にエラーが出るという話。

方法2・formatting.phpを編集

$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
の先頭行に // を入れてコメントアウト。

wp-includes/formatting.phpの69行目(ver2.8の場合ver2.7では60行目)を直接編集する。
※勿論Wordpressのバージョンアップ毎に修正が必要。

出典・EC-CUBE-LABO様テラダス様Utter Ramblings様