【WordPress】脱「brBrbr」プラグイン 【その2】

  • 投稿 : 2018-09-27
  • 更新 : 2018-09-28

目標

目標・過去の記事に対しては、「brBrbr」プラグインを適用する・新規の記事に対しては、適用しないこんな感じの共存環境をまず作ろうというのが「その1」です。参考になるプラグイン

ブログ運営のためのブログカスタマイズ

その1でカスタムフィールド_enable_brbrbrが1の時だけbrBrbrプラグインが動作するようにできました。また、あらかじめ過去の記事分の_enable_brbrbr=1のレコードを作成することで対応しました。

no2-brbrbr01.png

次の目標ですが、投稿画面のチェックボックスで切り替えができるようにするです。過去の記事を見直して、大丈夫だと判断したらチェックを外していくとかいう風に使えるかと思います。

参考になるプラグイン

簡単に投稿ごとに wpautop フィルターを無効にします。

WordPress.org

今回もToggle wpautopを参考にします。というか、少し書き換えてほぼそのまま使います。

Enable brBrbrのチェックボックスをつける

add_action( 'add_meta_boxes', 'brbrbr_add_meta_boxes');
function brbrbr_add_meta_boxes($post_type){ 
      $settings = array('post', 'page');
      if ( in_array( $post_type, $settings ) ) {
        add_action( 'post_submitbox_misc_actions', 'brbrbr_submitbox_misc_actions', 5 );
      }
}
function brbrbr_submitbox_misc_actions() {
    global $post;
    wp_nonce_field( '_brbrbr_nonce', '_brbrbr_noncename' );

    $checked = get_post_meta( $post->ID, '_enable_brbrbr', true );

?>
    <div class="misc-pub-section lp-brbrbr">
      <span><?php esc_html_e( 'Enable brBrbr', 'toggle-brbrbr' ); ?>:</span> <input type="checkbox" name="_enable_brbrbr" id="_enable_brbrbr" <?php checked( $checked ); ?> />
    </div>
<?php
}

add_action( 'save_post', 'brbrbr_save_post');
function brbrbr_save_post($post_id) {
      // Skip revisions and autosaves.
      if ( wp_is_post_revision( $post_id ) || ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
        return;
      }

      // Users should have the ability to edit listings.
      if ( ! current_user_can( 'edit_post', $post_id ) ) {
        return;
      }

      //保存
      if ( isset( $_POST['_brbrbr_noncename'] ) && wp_verify_nonce( $_POST['_brbrbr_noncename'], '_brbrbr_nonce' ) ) {

        if ( isset( $_POST['_enable_brbrbr'] ) && ! empty( $_POST['_enable_brbrbr'] ) ) {
          update_post_meta( $post_id, '_enable_brbrbr', 1 );
        } else {
          delete_post_meta( $post_id, '_enable_brbrbr' );
        }
      }
}

上記のコードをbrBrbrプラグインに追記します。「?>」の上に追記すればよいかと思います。

意外と大丈夫!!

記事の書き方によると思うのですが、当サイトとかだと「brBrbrプラグイン」の処理がなくなっても大丈夫な記事が多い感じです。「brBrbrプラグイン」を使用している人が今ではもうほとんどいないようだし、かつトラブルの元なので、いい加減やめたいなぁと思ってたので・・・。

実際、段階を踏んでやってみると、やめれそうな雰囲気です。
Wordpressの自動整形処理(wpautop)でも改行はBRタグに変換されるようで、僕の理解が一部間違ってたようです。

スポンサーリンク