CM Tooltip Glossaryのカスタマイズ

WordPressで用語集ページを作成するためのプラングイン「CM Tooltip Glossary」はインストールするだけで簡単に用語集ページを作成できます。

導入から設定まで簡単で、用語の登録をするだけでインデックスページに自動的に用語が追加されます。

今回はクライアント様よりCM Tooltip Glossaryを利用したページのカスタマイズ依頼がありましたので、修正内容を記載します。

CM Tooltip Glossaryのカスタマイズポイント

  • パンくずリストの文字列を修正
  • パンくずリストのリンクを修正
  • 一覧へ戻るを別名に修正
  • 一覧を右寄せにする

修正前の注意事項

プラグインのファイルを直接修正するためWordpressの管理画面だけでは修正ができません。FTP接続情報からFTP接続し、プラグインファイルをダウンロードしてから修正してアップロードを行います。

※プラグインの動作不具合については自己責任でお願い致します。

パンくずリストの文字列を修正

修正箇所(赤枠内の文字列を修正)

cm-tooltip-glossary.phpを修正

/wp-content/plugins/enhanced-tooltipglossaryフォルダ以下にある「cm-tooltip-glossary.php」を修正する。

        /**
         * Define Plugin Slug name
         *
         * @since 1.0
         */
        if ( !defined( 'CMTT_SLUG_NAME' ) ) {
            define( 'CMTT_SLUG_NAME', 'cm-tooltip-glossary' );
        }

        /**
         * Define Plugin name
         *
         * @since 1.0
         */
        if ( !defined( 'CMTT_NAME' ) ) {
            define( 'CMTT_NAME', 'CM Tooltip Glossary' );
        }

        /**
         * Define Plugin canonical name
         *
         * @since 1.0
         */
        if ( !defined( 'CMTT_CANONICAL_NAME' ) ) {
            define( 'CMTT_CANONICAL_NAME', 'CM Tooltip Glossary' );
        }

        /**
         * Define Plugin license name
         *
         * @since 1.0
         */
        if ( !defined( 'CMTT_LICENSE_NAME' ) ) {
            define( 'CMTT_LICENSE_NAME', 'CM Tooltip Glossary' );
        }

16行目の「define( ‘CMTT_NAME’, ‘CM Tooltip Glossary‘ );」を修正する。

例として、「CM Tooltip Glossary」を「用語一覧」に修正

注意 日本語表記にする場合、文字コードはUTF-8で修正する。SHIFT-JISで修正するとサーバアップ時に文字化けして表示されます。

注意 ファイルアップロード前にバックアップの取得を忘れずに!

 

赤枠内が「用語一覧」に変更される。

今回の修正を行うとWordpressの管理画面メニューも同一名称に変更されます。

パンくずリストのリンクを修正

修正箇所(赤枠内の文字列を修正)

用語ページのパンくずリストを見ると、「用語一覧」部のリンク先が用語ページとなっているため一覧に戻るようリンクを修正します。

cm-tooltip-glossary-shared.phpを修正

/wp-content/plugins/enhanced-tooltipglossary/sharedフォルダ以下にある「cm-tooltip-glossary-shared.php」を修正する。

    public static function cmtt_create_post_types() {
        $glossaryPermalink = get_option( 'cmtt_glossaryPermalink' );
        global $wp_rewrite;
        // First, we "add" the custom post type via the above written function.

        $args = array(
            'label'               => 'Glossary',
            'labels'              => array(
                'add_new_item'  => 'Add New Glossary Item',
                'add_new'       => 'Add Glossary Item',
                'edit_item'     => 'Edit Glossary Item',
                'view_item'     => 'View Glossary Item',
                'singular_name' => 'Glossary Item',
                'name'          => CMTT_NAME,
                'menu_name'     => 'Glossary'
            ),
            'description'         => '',
            'map_meta_cap'        => true,
            'publicly_queryable'  => true,
            'exclude_from_search' => false,
            'public'              => true,
            'show_ui'             => true,
            'show_in_admin_bar'   => true,
            'show_in_menu'        => CMTT_MENU_OPTION,
            '_builtin'            => false,
            'capability_type'     => 'post',
            'hierarchical'        => false,
            'has_archive'         => false,
            'rewrite'             => array( 'slug' => $glossaryPermalink, 'with_front' => false, 'feeds' => true, 'feed' => true ),
            'query_var'           => true,
            'supports'            => array( 'title', 'editor', 'author', 'comments', 'excerpt', 'revisions',
                'custom-fields', 'page-attributes' ) );

28行目の「’has_archive’ => false,」を修正する。falseからtrueに変更。

一覧へ戻るを別名に修正

修正箇所(赤枠内の文字列を修正)

cm-tooltip-glossary-frontend.phpを修正

wp-content/plugins/enhanced-tooltipglossary/frontendフォルダ以下にある「cm-tooltip-glossary-frontend.php」を修正する。

    public static function cmtt_glossary_addBacklink($content = '') {
        global $wp_query;
        $post = $wp_query->post;

        $onMainQueryOnly = (get_option('cmtt_glossaryOnMainQuery') == 1 ) ? is_main_query() : TRUE;

        if (is_single() && get_query_var('post_type') == 'glossary' && $onMainQueryOnly && 'glossary' == get_post_type()) {
            global $post;

            $mainPageId = get_option('cmtt_glossaryID');
            $addBacklink = 0;
            $addBacklinkBottom = get_option('cmtt_glossary_addBackLinkBottom', 0);

            $backlink = ($addBacklink == 1 && $mainPageId > 0) ? '<a href="' . get_permalink($mainPageId) . '" style="display:block;margin:10px 0;">' . __('&laquo; Back to Glossary Index', 'cm-tooltip-glossary') . '</a>' : '';
            $backlinkBottom = ($addBacklinkBottom == 1 && $mainPageId > 0) ? '<a href="' . get_permalink($mainPageId) . '" style="margin:10px 0;">' . __('&laquo; Back to Glossary Index', 'cm-tooltip-glossary') . '</a>' : '';

            $referralSnippet = (get_option('cmtt_glossaryReferral') == 1 && get_option('cmtt_glossaryAffiliateCode')) ? self::cmtt_getReferralSnippet() : '';

28行目の「$backlinkBottom = ($addBacklinkBottom == 1 && $mainPageId > 0) ? ‘<a href=”‘ . get_permalink($mainPageId) . ‘” style=”margin:10px 0;”>’ . __(‘&laquo; Back to Glossary Index‘, ‘cm-tooltip-glossary’) . ‘</a>’ : ”;」を修正する。

例として「一覧へ戻る」に修正する。

一覧を右寄せにする

一覧表示した際に、用語一覧が左に寄りすぎているので赤枠内の文字列を右に寄せる。

用語ページのカスタムCSSに以下の定義を追加する。

.glossary-container{
	padding-left:25px;
}

 

カスタムCSS修正後・・・

まとめ

プラグインのカスタマイズを行うとプラグインのバージョンアップ時に修正したファイルが更新され、デグレする可能性があります。ただしプラグインがPHPでコーディングされている以上、ソースを読むことでより自由にプラグインを活用することができます。