communityfield’s diary

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

bbpressの画像添付とテーマ適用

今日の作業はbbpressにプラグインを使って画像添付機能を付加するのと、simplicityテーマへのbbpressの適用を進めた

 

下記のプラグインbbpressに画像添付機能をつけるプラグイン

改良は特にしてないのでcssをいじった程度

ja.wordpress.org

 

bbpressのテーマ適用はまず調査に時間がかかった

どこのphpファイルを読んでいるのか「What The File」というプラグインを使って調べてみたがいまいち読んでるファイルが違うようだった

ja.wordpress.org

なので以前見つけた下記のサイトのbbpressのファイル説明一覧を参考にして解決した

[WordPress] bbPress 2.1 テーマ作成メモ | unlinked log

ファイル名説明
archive-forum.php フォーラム一覧ページ
archive-topic.php  
page-create-topic.php トピック作成ページ。固定ページテンプレート
page-forum-statistics.php フォーラムの統計情報ページ。固定ページテンプレート
page-front-forums.php フォーラム一覧ページ。固定ページテンプレート
page-front-topics.php トピック一覧ページ。固定ページテンプレート
page-topics-no-replies.php 返信のないトピック一覧ページ。固定ページテンプレート
page-topic-tags.php トピックタグ一覧ページ。固定ページテンプレート
page-user-login.php ユーザーログインページ。固定ページテンプレート
page-user-lost-pass.php パスワード忘れたページ。固定ページテンプレート
page-user-register.php ユーザー登録ページ。固定ページテンプレート
single-forum.php フォーラム個別ページ
single-forum-edit.php  
single-reply.php 返信個別ページ
single-reply-edit.php 返信編集ページ
single-topic.php トピック個別ページ
single-topic-edit.php トピック編集ページ
single-topic-merge.php トピック結合ページ
single-topic-split.php トピック分割ページ
single-user.php ユーザーページ
single-user-edit.php ユーザー情報編集ページ
single-view.php  
taxonomy-topic-tag.php トピックタグページ
taxonomy-topic-tag-edit.php

bbpressプラグインフォルダのtemplates>default>extrasにある上記は、テーマフォルダ直下に格納しテーマ適用の調整をおこなった(途中だけど)

そしてそれを読むようになって解決

 

 loop系はテーマフォルダにbbpressフォルダを作って格納してある

ちなみに使わせていただいてるテーマはSimplicityでカスタムしやすいです

wp-simplicity.com

bbpressのテンプレート調整はまだかかりそうだしbuddypressの方も調整したいところ

デザイン調整とスライドタブ

昨日からデザイン調整等に費やした

特に表示不具合とh1〜h5のデザイン修正をした

 

今日は主にスワイプでタブ移動もできるタブページをローカルでテストした

www.tam-tam.co.jp

wordpressはデフォルトだと$が使えないので$をjQuery

 

 実際にサーバー環境に適用してみた

スマホだと縦にと横にスクロールする際に縦横にブレてしまう

ちょっとこれは操作しにくいので今後固定できるように改良していきたい

communityfield.net

 

それにしてもこういう流用による実装は、技術者でない人にはチョチョイノチョイでできると思われがちだが、既存のものに組み込むにはそれなりの工数がかかる

競合しないように確認と調整、デザイン・レイアウトの調整、動作確認と

 

 

bbpressに貼られた画像URLをimgタグ化

bbpressに貼られた画像URLをimgタグ化し、引用元をaタグでホスト名を下にいれる処理をしたかった

いかが調べて「functions.php」に追記した内容

//イメージを自動表示
function wp_embed_handler_img( $matches, $attr, $url, $rawattr ) {
$url_array = parse_url($url);
$embed = sprintf(
'<img src="'.$url.'"><a href="'.$url_array['host'].'"></br>'.$url_array['host'].'</a>',
esc_attr(rawurlencode($matches[0]))
);
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' );

 参考にしたのは以下のサイト

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

【PHPの「parse_url」関数について知りたかったので調べました】 | 今村だけがよくわかるブログ

 

 

 

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公式サポートフォーラムで行います。