タグ:プラグイン

WPプラグイン「Category Order and Taxonomy Terms Order」をマルチサイトで使用する場合の注意事項

WPデフォルトのカテゴリーやカスタムタクソノミーの並び替えを行うことができるプラグイン「Category Order and Taxonomy Terms Order

マルチサイトでは使用するのに注意が必要です。

このプラグインを「サイトネットワークで有効化」で有効化してしまうと、

並び替えができないどころか、カテゴリー自体が表示されなくなります

理由までは調査していないですが、外観>メニューで保存すらできなくなってしまうので注意です。

対応方法は、「サイトネットワークで有効化」ではなく、サイトごとにプラグインを有効化すればOK

カテゴリーも表示されるようになりますし、メニューの動作も正常になりますし、並び替えもできるようになります。

総合管理者 | 2020年08月05日 | コメント(0) | トラックバック(0) | CMS関連

MTで画像一括アップロード!

メモ

大量に画像をアップロードしなくてはならない場合、FTPで一気にアップロードする方法と、MTで1つ1つアップロードする方法の2つがありますが、前者は後々管理画面から削除ができなくなるし、後者は時間がかかる。

そんなとき便利なプラグインが「MultiFileUploader」です。

ダウンロードは以下のサイトから

複数ファイルを一括でアップロードできるMovable Typeプラグイン:MultiFileUploader(スカイアークシステムさんのサイト)

解凍すると

  • plugins
  • mt-static

のフォルダができるので、それぞれアップロードするだけ。

プラグインが正常に導入されると「アイテム」メニューに「複数アップロード」が追加されますので、そちらから複数ファイルをアップロードしてください。

特に対応バージョンが書いていなかったので不安でしたが、MT5.031にて正常に動作しました。

スカイアークシステムさんのサイトのコメントを見てみると、パスエラーが発生しているようですが、自分のところでは特に問題なしでした。
MTのバージョンのせい?

nandani | 2010年11月24日 | コメント(0) | トラックバック(0) | CMS関連

MTにてカテゴリを絞り込んで検索する方法2

前回はこちら「MTにてカテゴリを絞り込んで検索する方法

今回はプラグインを使用します。

この方法のメリットは複数のカテゴリで絞り込めることです。

たとえば以下のようにカテゴリ構成されているとします。

ジャンル
  SF
  アニメ
  クライム
  コメディ
  ホラー
メディア
  DVD
  VHS
  ブルーレイ
  レーザーディスク

「SF×DVD」や「コメディ×VHS」のように複数カテゴリで絞り込みたい場合、前回の方法では実現不可能でした。(一見<input category="SF AND DVD" />で可能そうですができませんでした。)

そこでこちらのサイトで配布しているプラグインを使用します。

CategorySearch(Technology on Informationさんのサイト)

上記のサイトの「リリース>ダウンロードページ」から最新版をダウンロードしてください。

インストール方法は、ダウンロードしてきたファイルを解凍したのち、「plugins」の中にアップロードすればOKです。

使用方法についても上記のサイトに記述しております。

では以下使用例です。

※なお、以下で使用しているテンプレートはMT5標準で用意されているテーマ「クラッシックブログ」のテンプレートです。

 

1.検索ウィジェットを編集する

MTブログ管理画面の「デザイン>ウィジェット>検索」を開いてください。

その中のformタグで囲まれている部分を、まるごと以下のように書き換えてください。

<form method="get" action="<$mt:CGIPath$><$mt:SearchScript$>">
   
    <MTTopLevelCategories>
    <MTSetVarBlock name="tcid"><MTCategoryID></MTSetVarBlock>
    <div>
        <input type="hidden" name="CategorySearchSets" value="<MTCategoryID>" />
        <select name="<MTCategoryID>">
            <option value="0">すべての<MTCategoryLabel></option>
               
    <MTSubCategories>
        <MTSetVarBlock name="clabel"><MTCategoryLabel></MTSetVarBlock>
        <MTCategorySearchLink type="absolute" set="$tcid" value="$clabel" op="replace" text="ignore" >
        <MTIf name="selected">
            <option value="<MTCategoryLabel>" selected="selected"><MTCategoryLabel></option>
        <MTElse>
            <option value="<MTCategoryLabel>"><MTCategoryLabel></option>
        </MTIf>
        </MTCategorySearchLink>
    </MTSubCategories>
               
        </select>
    </div>
    </MTTopLevelCategories>
   
    <div>
        <input type="text" name="search" value="<$mt:SearchString$>" />
        <input type="hidden" name="CategorySearch" value="1" />
        <input type="hidden" name="CategorySearchIgnoreText" value="1" />
        <input type="hidden" name="IncludeBlogs" value="<$mt:BlogID$>" />
        <input type="hidden" name="limit" value="<$mt:SearchMaxResults$>" />
        <input type="submit" accesskey="4" value="検索"  />
    </div>
   
</form>

■追記(2010/10/27)
MTCategorySearchLinkのtypeを「relative」から「absolute」に変更しました。

 

2.「検索結果」テンプレートを編集する

MTブログ管理画面の「デザイン>テンプレート>検索結果」を開いてください。

「<$mt:SearchString$>」と一致するもの

の部分を

<MTSetVarBlock name="search_string"><$mt:SearchString$></MTSetVarBlock>
<mt:CategorySearchSets glue=" と ">
    「<mt:CategorySearchCategories>
    <mt:CategoryLabel>
    </mt:CategorySearchCategories>」
    <mt:CategorySearchSetsFooter>
        <MTIf name="search_string">
        と「<$mt:SearchString$>」
        </MTIf>
        の検索結果
    </mt:CategorySearchSetsFooter>
</mt:CategorySearchSets>

に変更してください。

この段階でとりあえず再構築をかけてください。

ここまでで、2種類のカテゴリによる絞り込み検索ができるようになりました。

しかし、テキストフォーム(name="search")のところに検索ワードを入力してもスルーされてしまうと思います。

これは

<input type="hidden" name="CategorySearchIgnoreText" value="1" />

が記述されているためで、「CategorySearchIgnoreText」のvalueに値が入っていると、検索ワードが入っていなくても検索結果を返してくれるという利点がある代わりに、検索ワードは無視されてしまうという欠点があります。

できれば検索ワードが入っていない場合はカテゴリのみで検索し、入っている場合はそのワードでも検索するという風にしたいところです。

そこで、今回もJavascriptを使用します。

 

3.Javascriptを追記する。

読み込めればどこでもいいんですが、とりあえず「デザイン>ウィジェット>検索」を開いてください。

一番上に下記のソースを追記します。

<script type="text/javascript">
function searchTextCheck(){
    var searchText = document.getElementById("searchText").value;
    if(searchText != ""){
        document.getElementById("CategorySearchIgnoreText").value = "0";
    }
}
</script>

要するに、検索ボタンをクリックした瞬間、テキストフォームに検索ワードが入っていなければそのままにし、入っていればCategorySearchIgnoreTextのvalueを"0"にする、というわけです。

 

4.Javascriptで使用するためタグを修正する。

最後に1.で追加したform内のタグの値を少し変更します。

<form me\thod="get" action="<$mt:CGIPath$><$mt:SearchScript$>">
   
    <MTTopLevelCategories>
    <MTSetVarBlock name="tcid"><MTCategoryID></MTSetVarBlock>
    <div>
        <input type="hidden" name="CategorySearchSets" value="<MTCategoryID>" />
        <select name="<MTCategoryID>">
            <option value="0">すべての<MTCategoryLabel></option>
               
    <MTSubCategories>
        <MTSetVarBlock name="clabel"><MTCategoryLabel></MTSetVarBlock>
        <MTCategorySearchLink type="absolute" set="$tcid" value="$clabel" op="replace" text="ignore" >
        <MTIf name="selected">
            <option value="<MTCategoryLabel>" selected="selected"><MTCategoryLabel></option>
        <MTElse>
            <option value="<MTCategoryLabel>"><MTCategoryLabel></option>
        </MTIf>
        </MTCategorySearchLink>
    </MTSubCategories>
               
        </select>
    </div>
    </MTTopLevelCategories>
   
    <div>
        <input type="text" name="search" id="searchText" value="<$mt:SearchString$>" onkeypress="searchTextCheck();" />
        <input type="hidden" name="CategorySearch" value="1" />
        <input type="hidden" name="CategorySearchIgnoreText" id="CategorySearchIgnoreText" value="1" />
        <input type="hidden" name="IncludeBlogs" value="<$mt:BlogID$>" />
        <input type="hidden" name="limit" value="<$mt:SearchMaxResults$>" />
        <input type="submit" accesskey="4" value="検索" onclick="searchTextCheck();" onkeypress="searchTextCheck();" />
    </div>
   
</form>

■追記(2010/10/27)
MTCategorySearchLinkのtypeを「relative」から「absolute」に変更しました。

検索ワードを入力するテキストフォームのタグに
id="searchText"
onkeypress="searchTextCheck();"

CategorySearchIgnoreTextのタグに
id="CategorySearchIgnoreText"

検索ボタンに
onclick="searchTextCheck();"
onkeypress="searchTextCheck();"

をそれぞれ追加し、再構築してください。

これで、複数のカテゴリによる絞込み検索ができるようになったかと思います。

いや~、それにしてもすばらしいプラグインですね。

感謝感謝です。

Quick Commentsとjqueryとの併用の注意点

jqueryを利用して、Wordpressでページ遷移なしにコメントを投稿できるプラグイン「Quick Comments」(作成者:「をかもと」さん)

使用するにあたり、いくつか注意点があります。もしこれを使用しているのにうまく動かない場合は、こちらの「Quick Comments FAQ」をご覧ください。

なお、FAQには書かれていませんが、Quick Commentsとは別にheader.phpでjqueryを呼び出している場合にも正常に動作しなくなる場合があります。
その時は、jqueryの記述を取り除くか、「wp_head()」の前にjqueryを呼び出してください。

例)

<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery-1.4.2.min.js"></script>
<?php wp_head(); ?>

本来、Quick Commentsでjqueryを呼び出しているため、別途jqueryを設ける必要はないはずなのですが、独自に作成したスクリプトが動かなくなるケースもあります。その場合に上記の方法で対処してください。

 

今回参考にさせていただいたサイト

WordPress Plugins/JSeries:該当記事「Quick Comments (コメント投稿 Ajax 化)」「Quick Comments FAQ

nandani | 2010年08月10日 | コメント(0) | トラックバック(0) | CMS関連

WordPressから直接Googleマップを設定できるプラグイン

Google Maps Anywhere」を使用すると、WordPressの記事入力フォームから直接Googleマップの地図にピンマーク(所在地マーク)を付けることができます。(ただしGoogleマップAPIが必要)

ダウンロードサイト:「WordPress Plugins/JSeries」さんのサイト。

マイマップやストリートビューにも対応。ただ上記で紹介したダウンロードページにはマイマップのやり方が書かれていませんでした。マイマップのやり方についてはこちらのページで紹介されています。

Odysseygate.com」さんのサイト

※注意点
Odysseygate.com」さんのサイトで紹介されていたやり方では「/wp-content/uploads/hoge.kml」という風に、「ルートからのパスを記述する」方法で説明されていました。しかし自分がテストしたサーバ(ヘテムルサーバ)ではなぜかうまくいかず、「httpから始まるURLパス」を記述することで成功しました。サーバによって設定方法が変わる可能性があるのでご注意ください。

なお、ここでいう「マイマップを使用できる」というのは、あくまで「予め作成されたマイマップを読み込める」というものです。WordPressの入力フォームから設定したピンマークがマイマップにも反映されるわけではないのでご注意ください。

今回参考にさせていただいたサイト

nandani | 2010年07月27日 | コメント(0) | トラックバック(1) | API関連 | CMS関連

Copyright(c) 2010 - 2024 ダリの雑記