bbpressの画像添付とテーマ適用
今日の作業はbbpressにプラグインを使って画像添付機能を付加するのと、simplicityテーマへのbbpressの適用を進めた
下記のプラグインはbbpressに画像添付機能をつけるプラグイン
改良は特にしてないのでcssをいじった程度
bbpressのテーマ適用はまず調査に時間がかかった
どこのphpファイルを読んでいるのか「What The File」というプラグインを使って調べてみたがいまいち読んでるファイルが違うようだった
なので以前見つけた下記のサイトの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でカスタムしやすいです
bbpressのテンプレート調整はまだかかりそうだしbuddypressの方も調整したいところ
デザイン調整とスライドタブ
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のトピックにアイキャッチ画像を設定できそう
ただあまりプラグインで対応したくないのでテーマファイルを編集することにした
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だけ少しいじり動作が確認できた
細かいこと
カスタム投稿のカテゴリーをサイドバーに表示したい
ので下を参考にプラグインを入れてみた
また都道府県と市町村をカテゴリに一括登録したいと思って以下を見つけた
しかしカスタム投稿タイプへの登録方法が見つからず、とりあえず手動登録を進めることに
以下のさいとで都道府県の市町村一覧がみれた
そしてそしてトップの投稿で表示カテゴリを指定したいがデフォルトではできなかったので以下のプラグインを使おうと思っている
サイトを運営しているとどうやって潜在的な利用者に知ってもらい、アクセスしてもらうかは常に課題となりますね
有料の広告、例えばGoogle AdWordsとかは気軽に使えますしアクセスも多いです
しかしスタートアップだったり、様子を見つつ広げていきたい場合はコストをできるだけ押さえてサイトを告知したいですよね
一つの方法としてGoogleニュースに登録するのがありそうです
googleで検索するとたまにニュースとしてアイキャッチ画像とともにピックアップされるあれです
ちゃんとしたニュースコンテンツサイトを作ることができるなら、登録を視野に入れたいですね。
審査はそれなりに厳格だと思いますが、それだけの基準を達成できれば多くの方が利用してもらえるサイトであるということにもなります
個人であれ企業であれ一つの目標になることは間違いなさそうです
フォーラムのブログカード適用を断念
イメージの自動埋め込みと新サイト
今日は以下のページを参考に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' );
画像にリンクを張らずに以下参考にドメイン名にリンクを貼るようにした
また、以下を参考にamazonやほかのリンクも自動で埋め込みできそうである
bbpressのURLブログカードかは未だにうまくいってないので今後の課題
新サイトは昨日から製作に乗り出し、カスタム投稿タイプ追加で手を止めていた
今日は以下を参考にカスタム投稿タイプを追加した
パーマリンクがスラッグになってしまったので以下を参考に設定
また、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公式サポートフォーラムで行います。