communityfield’s diary

サイト開発のメモです。メモなので結構適当です

bbpressのtopicにアイキャッチ画像を設定する

コミュニティサイトを作ったものの、いまいち味気ない

はてなブックマークさんみたいなアイキャッチ画像を入れたいなと

以下のプラグインを使えばbbpressのトピックにアイキャッチ画像を設定できそう

wordpress.org

ただあまりプラグインで対応したくないのでテーマファイルを編集することにした

bbpressのloop-single-topic.phpにsimplicityのアイキャッチ画像を入れ込んだ

<figure class="entry-thumb">
<?php if ( has_post_thumbnail() ): // サムネイルを持っているとき ?>
<a href="<?php the_permalink(); ?>" class="entry-image entry-image-link" title="<?php the_title(); ?>"><?php the_post_thumbnail( 'thumb150', array('class' => 'entry-thumnail', 'alt' => get_the_title()) ); ?></a>
<?php else: // サムネイルを持っていない ?>
<a href="<?php the_permalink(); ?>" class="entry-image entry-image-link" title="<?php the_title(); ?>"><img src="<?php echo get_template_directory_uri(); ?>/images/no-image.png" alt="NO IMAGE" class="entry-thumnail no-image list-no-image" /></a>
<?php endif; ?>
</figure><!-- /.entry-thumb -->

あとはcssだけ少しいじり動作が確認できた

 

細かいこと

カスタム投稿のカテゴリーをサイドバーに表示したい

ので下を参考にプラグインを入れてみた

takacworks.com

また都道府県と市町村をカテゴリに一括登録したいと思って以下を見つけた

lazy-engineer.com

しかしカスタム投稿タイプへの登録方法が見つからず、とりあえず手動登録を進めることに

以下のさいとで都道府県の市町村一覧がみれた

市区町村プロフィール 東京都

 

そしてそしてトップの投稿で表示カテゴリを指定したいがデフォルトではできなかったので以下のプラグインを使おうと思っている

www.msng.info

 

サイトを運営しているとどうやって潜在的な利用者に知ってもらい、アクセスしてもらうかは常に課題となりますね

有料の広告、例えばGoogle AdWordsとかは気軽に使えますしアクセスも多いです

しかしスタートアップだったり、様子を見つつ広げていきたい場合はコストをできるだけ押さえてサイトを告知したいですよね

一つの方法としてGoogleニュースに登録するのがありそうです

googleで検索するとたまにニュースとしてアイキャッチ画像とともにピックアップされるあれです

moduleapps.com

ちゃんとしたニュースコンテンツサイトを作ることができるなら、登録を視野に入れたいですね。

審査はそれなりに厳格だと思いますが、それだけの基準を達成できれば多くの方が利用してもらえるサイトであるということにもなります

個人であれ企業であれ一つの目標になることは間違いなさそうです

フォーラムのブログカード適用を断念

色々試した結果フォーラムのブログカード適用を一時断念しました

simplicityテーマのブログカードを改良すればいけそうですが、phpのスキルが低いのでまだ目処が立ちそうにない

Celtispackプラグインを併用すれば表示されたのだが、サーバー負担が増加したので一時停止。後日再チャレンジする予定

今度はカスタム投稿タイプの一覧を表示できるようにした。参考にしたのは以下。

0419.sub.jp

happy2010.wpblog.jp

 

イメージの自動埋め込みと新サイト

今日は以下のページを参考にbbpressでも画像URLが貼られると自動でimgタグとaタグが追加されるように改良した

WordPress の自動メディアリンクにメディア形式を追加する | dogmap.jp

以下コードを少しいじっている

//イメージを自動表示
function wp_embed_handler_img( $matches, $attr, $url, $rawattr ) {
$width = 600;
$height = 780;

$embed = sprintf(
'<img width="'.$width.'" height="'.$height.'" src="'.$url.'"><a href="'.$url['host'].'"></br>'.$url['host'].'</a>',
esc_attr(rawurlencode($matches[0])),
(int) $width,
(int) $height
);
return apply_filters( 'embed_img', $embed, $matches, $attr, $url, $rawattr );
}
wp_embed_register_handler( 'img', '/^https?(:\/\/[-_\.!~*\'()a-zA-Z0-9;\/:\@=+\$,%#]+)(\.jpg|\.jpeg|\.png|\.gif)$/', 'wp_embed_handler_img' );

 画像にリンクを張らずに以下参考にドメイン名にリンクを貼るようにした

q.hatena.ne.jp

 また、以下を参考にamazonやほかのリンクも自動で埋め込みできそうである

ottan.xyz

 

bbpressのURLブログカードかは未だにうまくいってないので今後の課題

新サイトは昨日から製作に乗り出し、カスタム投稿タイプ追加で手を止めていた

今日は以下を参考にカスタム投稿タイプを追加した

www.wordpressmatome.com

パーマリンクがスラッグになってしまったので以下を参考に設定

blog.livedoor.jp

 

また、2点ほどbbpressプラグインで良さそうなものを見つけたのでメモ

bbpress – report content

こちらはbbpressに運営に報告ボタンをトピック右上に追加できるよう

bbPress - Report Content — WordPress Plugins

 以下翻訳

あなたのbbPressフォーラムユーザーに、トピックや返信で不適切なコンテンツやスパムを報告する機能を与えます。 このプラグインは、トピックと回答への「レポート」管理リンクを追加します。クリックするとトピック/返信に「ユーザー報告」の投稿ステータスが割り当てられます。

ログインしているすべてのユーザーは、コンテンツを報告し、トピックが報告されていることを確認できます。司会者および管理者のみがコンテンツの報告を取り消すことができます。 標準のトピック管理画面と統合します。

トピックが報告されると、ページの上部にトピックが不適切と報告されたことを示すバナーが表示されます。 返信の場合は、内容の前に返信内にメッセージが追加されます。

bbPress 2.4以降が必要です。

 

 

bbpress permalinks with ID

これはbbpressトピックなどのスラッグが日本語になってしまうのをIDにすることで解決できるみたいだが、直接phpをいじる必要がありそう

bbPress Permalinks with ID — WordPress Plugins

以下翻訳

bbPressとこのプラグインを有効にした後、手動で書き換えルールをフラッシュする必要があります。 /wp-admin/options-permalink.phpページにアクセスしてください。または、wp cli(wp rewrite flushコマンド)を使用します。

デフォルトでは、bbPress URLにはスラッグが含まれています。あなたのナメクジ(タイトル)に英語のアルファベットではないものが含まれていれば、それは良いことではありません。 URLにはキリル文字や中国語のような謎のシンボルが含まれているため、リンクが開かないか、友だちにリンクを送信できないことがあります。検索エンジンはこのタイプのURLを愛しません。

悪いURLの例:

korobochkin.com/forums/forum/привет-заголовок
korobochkin.com/forums/topic/название-топика-с-kириллицей
このプラグインは自動的にWordPressとあなたのリンクの岩にカスタム書き換えルールを追加します。

良いURLの例(プラグイン起動後):

korobochkin.com/forums/forum/123/
korobochkin.com/forums/topic/456/
このプラグインは、パーマリンクの任意の設定で動作します。

korobochkin.com/forums/forum/123/
korobochkin.com/?post_type=forum&p=123
プラグインは、Stephen EdgarのGithubで特集され、主演されました - bbPressコア開発者。このプラグインに関する議論は、bbPress公式サポートフォーラムで行います。

 

今後やりたいことメモ

カテゴリ別人気トピックリストページ
カテゴリ別新規トピックリストページ
トピック一覧のトピックごとにアイキャッチ画像を入れたい

カテゴリ別にアイキャッチを自動指定

Default Thumbnail Plus - デフォルトのサムネイル画像を設定できるWordPressプラグイン - ネタワン

画像URL投稿を自動で画像表示したい

Wordpress oEmbed 埋め込みウィジェット – セルティスラボ

 

WordPress Plugin : Google Photos embed – セルティスラボ

URLが投稿されたらブログカード形式で表示したい

WordPressで「はてなブログカード」のような埋め込み機能作成 – セルティスラボ

広告設定を改良したい

Simplicity記事下のアドセンスを1つ他の広告(楽天など)に入れ替える方法

プラグイン読み込み最適化

WordPress プラグインロードに条件分岐を使い高速化する方法 – セルティスラボ

サイトの高速化

コピペ一発でSimplicityを結構高速化する方法

初来場者用にキャッチページ
白背景にロゴがバウンスして表示されるTVCMのブランゴロゴみたいな

codepen.io

資料
Simplicityテーマのファイル構造について説明
https://wp-simplicity.com/simplicity-theme-files/

テーマ改造
https://wp-simplicity.com/category/theme-custom/

bbpress公式ガイド

bbPress Codex

運用開始後

10月初めから取り組んできたコミュニティサイトの構築が初期公開が完了し、ひと段落しました。

目的は自スキル向上と匿名性があるが整ったコミュニティサイトを作ってみたいということで、実験的な意味合いもありながら作りました。

 

今後は機能追加、デザインの改良と不具合を直していきます

communityfield.net

 

さて、私がVPSを使い始めたのはレンタルサーバーで負担増加による制限がかかり、サーバー環境増強を目指したためです。

今度はサーバー負担で制限がかかる前に対処したいので、以下の記事を参考にリソース状況を確認した。

 

sakura vps 1Gプランの限界 | hideichi.com

CPU 2000 msec
2KがCPUの限界らしい。ちょいちょい届くようなら、直ちに乗り換えましょう。

trafic 4M over
これはあくまで目安らしい。4M越えたら黄色信号ということらしい。
どの辺が赤信号なのかは不明。

DISK/IO 1M over
1M越えたらサーバー負荷が高いでしょう。
アプリによるんだろうけど、サービスに支障が出ていると感じているなら、直ちに乗り換えましょう。 

現在は

cpuは300ms

disk2500k

トラフィック300k

なので大丈夫そう

 

 以前から考えていた機能としてbbpressにNGキーワードを設定したいと思っていたが、bbpressのサイトで以下のページを見つけることができた

https://codex.bbpress.org/moderation-and-blacklisting/

 翻訳すると

bbPressはWordPressのコメントのために使用するのと同じ節度とブラックリストのツールを使用しています。あなたが投稿されることから、追加の節度を施した、および/または完全に阻止することにユーザーがトピックと回答のためにたい場合は、コメントの管理を使用して、に位置するブラックリストの設定を、コメントすることができます。

Admin > Settings > Discussion

 とのことでwordpressのデフォルト機能を利用していた

プラグインを不用意に増やしたくなかったのでよかったーと

 

画像アップロードは解決

作っているサイトでは「Simplicity」というテーマを利用させて頂き、それをカスタマイズしている

buddypressで利用者がアバター画像を設定できるようにしているのだが、アップロードした後画像が表示されず、「imageの1×1.trans.gif」が表示された

wp-simplicity.com

検索すると上記にたどり着き、lazyloadという機能を利用しているためだった

機能をオフにすると問題は解決したが遅延読み込みはできなくなった

どうやらページロード後にアップロードすると読み込み処理が発生しないためのようだ

この点は後日カスタマイズで対応したいと思う