サロンのホームページ制作

WordPressでの共同執筆をサポートしてみた

複数人で1つのサイトを管理したり、協力して記事を書いていく「メディアサイト」的なご要望を、最近いただくことがあります。

記事を書いたはいいけれど、その記事を誰が書いたのかわからなかったり、

自分のホームページなり、SNSに誘導する導線がなかったりすると、

記事を書く気持ちもしぼんでしまいます。

 

そこで、共同執筆をサポートする仕組みを入れてみました。

 

記事の一覧には、右上に小さな顔アイコン。
クリックをするとプロフィールページに移動します。

スクリーンショット 2015-11-27 8.07.54

 

記事ページには、「この記事を書いた人」を表示するウィジェット

スクリーンショット 2015-11-27 8.08.21

 

SNSなどへのリンクも貼ってあるプロフィールページ

スクリーンショット 2015-11-27 8.08.32

 

こんな感じの執筆者情報をサポートしてみました。

 

この記事に書いてあること

  • 共同執筆をサポートするプラグイン
  • 共同で書くためのセキュリティ
  • 執筆者がわかるテンプレート

 

共同執筆をサポートするプラグイン

WordPressのプラグインは便利ですが、知識がないままいくつもプラグインに頼ってしまうと、バージョンアップの時に困ってしまいます。

できるだけ最小限の構成でいきたいと思っています。

その中でも、今回入れたプラグインはプロフィール画像を登録するというもの。

 

Simple Local Avatars

スクリーンショット 2015-11-27 8.12.14

functions.phpに記述をすれば、画像は登録できるのですが、メディアから選択をする方式をとりたくて、このプラグインを入れました。

ちょっと、管理画面での挙動が不安定ですが、シンプルに動くので便利です。

 

共同で書くためのセキュリティ

もう一つ入れたプラグインは、セキュリティ面のプラグイン。

 

Edit Author Slug

スクリーンショット 2015-11-27 8.12.02

WordPressのユーザープロフィールページは、「ユーザーID」がURLに使われます。

ログインに必要な情報は、ユーザーIDとパスワードの2つだけ。

そのうちの1つが、だだ漏れになってしまうので、これを変更するプラグインとなります。

例えば僕の場合は、

https://www.healing-solutions.jp/profile/mizuno/

これをプロフィールページにしていますが、mizuno はログインIDには関係ありません。

また、WordPressのそのままの設定では、

/?author=1

とかをURLの末尾につけると、ユーザーIDが丸分かりになってしまいます。

これも回避してくれるプラグインとなるので、セキュリティ的にも重要な役割です。

 

 

 

執筆者がわかるテンプレート

あとは、テンプレート側で、執筆者の情報を取得していきます。

class My_Write_Block_Widget extends WP_Widget{
    /**
     * トップに戻る Widgetを登録する
     */
    function __construct() {
        parent::__construct(
            'writer_block_plugin', // Base ID
            '執筆者ブロック', // Name
            array( 'description' => 'この記事を書いた人フィールドの表示', ) // Args
        );
    }
 
    /**
     * 表側の Widget を出力する
     *
     * @param array $args      'register_sidebar'で設定した「before_title, after_title, before_widget, after_widget」が入る
     * @param array $instance  Widgetの設定項目
     */
    public function widget( $args, $instance ) {
        
        if( is_single() ){
        
          $writer_field=isset($instance['writer_field']) ? $instance['writer_field']: null;
          $auther_ID = get_the_author_meta('ID');
          $auther_description = get_the_author_meta('description');
          $auther_image = get_simple_local_avatar($auther_ID, 100, true);
          $auther_url 	= get_author_posts_url( get_the_author_meta( 'ID' ));
          $name 	= get_the_author_meta( 'nicename' );
          $user_company = get_the_author_meta( 'user_company' );
          
          echo $args['before_widget'];

 

今回は、こんなウィジェットをつくってみました。(冒頭部分のみ)

$writer_field=isset($instance['writer_field']) ? $instance['writer_field']: null;
$auther_ID = get_the_author_meta('ID');
$auther_description = get_the_author_meta('description');
$auther_image = get_simple_local_avatar($auther_ID, 100, true);
$auther_url 	= get_author_posts_url( get_the_author_meta( 'ID' ));
$name 	= get_the_author_meta( 'nicename' );
$user_company = get_the_author_meta( 'user_company' );

この部分で、執筆者の情報をいろいろと変数に入れています。

あとは、ウィジェットを追加すれば、ブログパーツの好きな位置に執筆者情報を表示することができます。

 

まとめ

共同執筆をする時に大事なのは、どんな仕組みを構築するかも優先順位は高いですが、

それよりも、「やる気になる仕組みは、何か?」を優先したほうがいいと感じています。

 

まだまだ工夫が必要ですが、

今回の場合は、プロフィール画像や、プロフィール詳細を表示する場所を作り、

そこに、その人の書いた記事がまとめられる仕組みを作ったことで、

少し導線ができたかなと思います。

 

WordPressでの共同執筆を検討中の方は、ご存知の方も多いとは思いますが

リンクしてあるプラグインをぜひチェックしてみてください。

 

見出し
テキスト
こんなブログも読まれています
mautic is open source marketing automation