タグ

ブックマーク / www.warna.info (42)

  • wp_list_categoriesのclassにスラッグを含める方法 – Simple Colors

    Web Design Recipesのたかはしのりさんが、「WordPress のよくあるカスタマイズコード functions.php 多め」という記事で、 テンプレートタグ wp_list_categories に、スラッグ名のクラス付ける方法あったら、教えていただけると嬉しいです! とおっしゃっていたので、いつものように?チャレンジしてみたのでした。 wp_list_pagesでは、page_css_classという出力されるclassへのフックがあって簡単に追加・削除が可能なのですが、wp_list_categoriesは、出力される全HTMLソースに対する wp_list_categories というフックがあるのみで、ちょっと難度があがります。 方針としては、「WordPressのカレンダーのthにclassを追加するコード(日語限定)」と同様の方法で、正規表現でのパターン抽

    hr07jp
    hr07jp 2013/08/15
    wp_list_categoriesのclassにスラッグを含める方法 |
  • マルチサイトの設定を一括で変更するスクリプト – Simple Colors

    必要に迫られて、つい。。 注意事項とか利用方法とか wp-load.php へのパスは、環境によって合わせてください。 $update_options の配列に、オプション名をキーに、設定したい内容を値として記述してください。 値をnull で指定すると、設定を削除できます。 元に戻すことはできませんので、実行前にoptionsテーブルのバックアップをとってからにしましょう。 <?php $update_options = array( 'option_name_1' => 'option_value 1', 'option_name_2' => 'option_value 2', 'option_name_3' => 'option_value 3', 'delete_option_name_1' => null, 'delete_option_name_2' => null, ); r

    hr07jp
    hr07jp 2013/02/16
    マルチサイトの設定を一括で変更するスクリプト
  • WordPressのヘッダー管理画面からサイトタイトル画像をアップロードできるようにする – Simple Colors

    WordPressのテーマで、サイトのタイトルを画像で表示できたらと思うことはありませんか? 今回は、サイトのタイトル画像をヘッダー画像のように管理画面からアップロードできるようにする方法を紹介します。 WordPressは、ヘッダー画像をサポートしているテーマを利用していると、メニューに「ヘッダー」というメニューが追加され、カスタムヘッダーの管理ができるようになります。 このカスタムヘッダーの管理画面に、フォームを追加するには、「変更を保存」ボタンの直上にあるカスタムヘッダー管理画面内ただ1つの custom_header_options というフックが利用できます。 ただし、このフックポイントは、下図のようにenctype属性の指定がないフォームの内側にあるため、単にアップロードフォームを追加するだけでは、ファイルのアップロードはできません。 そこで、フックした関数内部で一旦フォームを

    hr07jp
    hr07jp 2012/11/01
    WordPressのヘッダー管理画面からサイトタイトル画像をアップロードできるようにする
  • カスタム投稿タイプのアーカイブ表示で、カスタム分類での絞り込み検索を行う – Simple Colors

    「Webサイト上で絞り込み検索ができるようにしたい」というのは比較的よくある要望だと思います。そんな場合どうしてますか?カスタム投稿タイプだったら、アーカイブ表示の際に、少々工夫すれば絞り込みを行うことができてしまうのです。 WordPress では、パーマリンクの設定如何に関わらず、?cat=5 などといったパラメーターを追加すると絞り込みが可能となっています。(なので、カテゴリー内でのテキスト検索といったことも簡単に可能なんですよ?) このため、フォームの method 属性を get にしておけば、比較的簡単に絞り込みができてしまうのですが、この場合、アドレス欄にパラメーターがずらずら並んでしまってクライアント受けが良くないのと、チェックボックスによる複数項目での検索に対応しづらいのが難点です。 これを post で投げて、アドレスはそのままで絞り込み検索、さらにはページ送りにも対応

    hr07jp
    hr07jp 2012/10/27
    カスタム投稿タイプのアーカイブ表示で、カスタム分類での絞り込み検索を行う
  • カスタム投稿タイプの年別アーカイブ表示 – Simple Colors

    function add_custom_rewrite_rules() { $rules = array( 'top' => array( '^event/([0-9]{4})/page/([0-9]+)/?' => 'index.php?post_type=event&year=$matches[1]&paged=$matches[2]', '^event/([0-9]{4})/?' => 'index.php?post_type=event&year=$matches[1]', ), 'bottom' => array( ) ); foreach ( $rules as $position => $position_rules ) { foreach ( $position_rules as $rule => $rewrite ) { add_rewrite_rule($rule, $

    カスタム投稿タイプの年別アーカイブ表示 – Simple Colors
    hr07jp
    hr07jp 2012/10/25
    カスタム投稿タイプの年別アーカイブ表示
  • パラメータでカスタマイズしやすいWordPressのページナビを作ってみた – Simple Colors

    WordPressのページナビ(ページャー)は、なんと言ってもWP-PageNaviが有名ですが、もっとシンプルでコントローラブルなものが出来ないかと思い自分で作ってみました。 出力されるHTMLのソースを見てもらえれば分かりますが、CSSのclassの変更がパラメータで出来たり、種類が豊富に指定されるため、多様なデザインをカバーできることも、喜んでもらえる点ではないでしょうか。 [2011.06.30追記] プラグイン版を公開いたしました。一部機能追加と修正してありますので、こちらをご利用ください。 導入方法 使っているテーマのfunctions.phpにCODE 1を追記してください。あるいは、独自プラグインにしてしまってもいいです。(独自プラグインの作り方は、初心者でも10秒でできる WordPress プラグインの作り方やWordPress でスニペットを簡単に管理する方法あたりを

    hr07jp
    hr07jp 2012/08/29
    パラメータでカスタマイズしやすいWordPressのページナビ
  • WordPress の投稿スラッグを自動的に生成する – Simple Colors

    WordPress のパーマリンク構造に %postname% が含まれていて、うっかりパーマリンクの設定をし忘れると、ブラウザのアドレス欄に日語が表示されたり、 %e3%81%8a%e5%95%8f%e3%81%84%e5%90%88%e3%82%8f%e3%81%9b みたいな感じで、イミフな文字列がならんでしまったりしてあまり気持ちの良いものではありませんよね。 よく分かっているならまだしも、運営を任せていたりすると、そんなURLが大量に発生してげんなり・・・そんな状況もよくあり得ます。 先日フォーラムの 記事のスラッグ名を自動的に記事IDにしたい に回答した内容を一歩進めて、なるべく汎用的に使えるコードを書いてみました。 方針としては、 自分で設定したスラッグの場合は、変更しない 日語などマルチバイトの場合は、{投稿タイプ}-{記事ID}に強制的に変更 記事IDのみにしていない

    hr07jp
    hr07jp 2012/08/18
    WordPress の投稿スラッグを自動的に生成する
  • Custom Post Types Relationships (CPTR)を使って、手動で関連記事の設定と表示を実装する – Simple Colors

    Custom Post Types Relationships (CPTR) というプラグインをご存じでしょうか。このプラグインは、投稿と投稿や投稿と固定ページ、固定ページとカスタム投稿タイプなど、記事と記事の関連付けが行えるプラグインです。今回は、この Custom Post Types Relationships (CPTR) を使って、手動での関連記事設定と表示する方法をご紹介したいと思います。 関連付けプラグインの比較 この Custom Post Types Relationships (CPTR) 以外にも記事を関連づけ出来るプラグインとしては、Posts 2 Posts もあります。 双方を比較してみると、 Custom Post Types Relationships (CPTR)の優れている点 初期設定など不要なため、有効化のみで簡単に利用できる カスタムフィールドにデー

    hr07jp
    hr07jp 2012/07/20
    Custom Post Types Relationships (CPTR)を使って、手動で関連記事の設定と表示を実装する
  • WordPressで追加した画像サイズを本文に挿入できるようにする – Simple Colors

    WordPressで生成される画像サイズを追加する方法については、画像アップロードで作成される画像の種類を追加するにてご紹介しましたが、これだけだと文に画像を追加する際のサイズの選択肢に表示されません。 今回は、さらに一歩進めてサイズを追加するとともに、挿入するサイズとして選択できるようにしてみました。 と、盛大な前振りの割には大したことをしなくても実現可能で、3.3から追加されている image_size_names_choose というフィルターフックで、サイズを配列のキー、選択肢として表示されるラベル名を配列の値として追加すれば簡単にサイズの選択肢に表示されるようになります。 ただし、add_image_size と image_size_names_choose へのフックを別々に記述していたりすると、修正した際にミスをしたり、選択肢として表示したい/したくないを統一的に管理でき

    hr07jp
    hr07jp 2012/07/16
    WordPressで追加した画像サイズを本文に挿入できるようにする
  • WordPressのマルチサイトでサイトに応じたclassを出力する – Simple Colors

    フォーラムの「WordPress ヘッダータイトル文字を画像に変える」に回答したネタ。 マルチサイトで、サイト毎にちょっとだけデザインを変えたいときなんかに、bodyのclassにサイトに応じたクラス名を追加してくれます。 使い途あるといいな。。 クラス出力例 <body class="home blog logged-in admin-bar single-author site-child two-column right-sidebar"> CODE 1 function add_multisite_class( $classes ) { global $current_blog, $current_site; if ( is_multisite() ) { if ( is_main_site() ) { $classes[] = 'main-site'; } else { if (

    hr07jp
    hr07jp 2012/07/11
    WordPressのマルチサイトでサイトに応じたclassを出力する
  • WordPressで挿入する画像のsrcを相対リンクにする – Simple Colors

    WordPressで記事の中に画像を挿入するとき、通常ではhttp://www.example.com/wp-content/uploads/~ などといったように、ドメインを含んだアドレスがimgタグのsrcとして埋め込まれてしまいます。 例えば、ローカル環境や構築環境で作ったサイトを、番用のドメインで公開する場合、このドメイン部分をいちいち置換しなくてはなりません。 MySQLが分かる方であれば、一括置換すれば済む話ではありますが、データベースってなんじゃらほいという方はどうすればいいのか困りますよね。そこで、挿入される画像のsrcにドメイン部分が入らないようにする方法を紹介します。 利用しているテーマのfunctions.phpに下記コードを追加するだけ。 CODE 1 function delete_host_from_attachment_url( $url ) { $rege

    hr07jp
    hr07jp 2012/05/11
    WordPressで挿入する画像のsrcを相対リンクにする
  • WordPressで表示する記事が新着かどうかを判別するコード – Simple Colors

    新着情報などにNewマークを表示させたいなどの要望はよくあることですね。 今回は、表示する記事が新着や更新かどうかの判別用コードを紹介します。 なるべく汎用的となるように書いたので、ちょっとコードが長いですが、ご容赦ください。 いつものように CODE 1 を利用するテーマの functions.php にぺたりと追加してもらえれば、新着や更新の条件判別ができるようになります。利用方法は、コードの後で。 CODE 1 /** * post_classの出力するclassに、新着であれば、new-post、更新であれば、modified-postを追加する。 * * @param array $classes Array of default classes. * @param array|string $class array or string space separated class

    hr07jp
    hr07jp 2012/03/02
    WordPressで表示する記事が新着かどうかを判別するコード
  • WordPressの管理画面でプラグインのメモを残せるプラグインを共同開発してみた – Simple Colors

    ある日、Twitterで @poyosi さんがこんな事をつぶやいていて 実は内心「40も50も入れるかフツー?」などと思っていたのはおくびにも出さず聞いていると、夜中にもかかわらず各所から反応があって 意外にニーズがあるのかもと考えを改め、そんなわけで、ちょっぴり興味を持って取り組んでみることにしました。 メモの入力と表示ですが、あまり小さかったりすると入力も表示もユーザビリティーが悪くなりますし、ただでさえプラグインの説明表示の表示文字数が多くなり窮屈な感じになりそうだったのでカラムを増やすのは得策ではないと考えました。 そんなときに、ちょうど有り難かったのがプラグインの行表示を行った後に存在する after_plugin_row というフックです。プラグインの更新があった場合、 の様なメッセージが表示されますが、この表示もほぼ同じ箇所のフックを利用しているはずです。 というわけで、プ

    hr07jp
    hr07jp 2012/01/14
    WordPressの管理画面でプラグインのメモを残せるプラグイン
  • 3.3の新しい関数 is_main_query を使おう – Simple Colors

    WordPressの3.3で、新しい関数 is_main_query が使えるようになりました。 WordPress をカスタマイズをガッツリ行う方には、是非知っておいていただきたいものです。 といっても、有用なのは関数ではなく、クラスメソッドの方ではありますが。。 表示カスタマイズ方法のおさらい 例えば、カテゴリーアーカイブだったら表示する件数を5件にしたい時や、年月アーカイブでは特定のカテゴリーを除きたい時などどうしていますか? 簡単にやるのであれば query_posts を使い、その条件で記事を取得する方法ですが、これは、データベースへのアクセスが増えるので、パフォーマンス的にはあまりおすすめできません。速くするためにCSSスプライトを使ったりするのに、これではちょっと末転倒な気もしますよね。 一番いいのは、WordPress が標準で表示する記事の条件を状況に応じて変更してあげ

    hr07jp
    hr07jp 2011/12/22
    3.3の新しい関数 is_main_query を使おう
  • 順序をサポートしたカスタム投稿タイプのデフォルト表示順を変更してみる – Simple Colors

    カスタム投稿タイプを利用する際に、register post type の has_archiveパラメータを true とすると、投稿タイプのアーカイブ(一覧)表示を行うことができるようになります。 ただし、表示順については設定や入力にかかわらず公開日順になってしまうため、page-attributes をサポートして順序の入力を可能にしていても、表示に反映されることがありません。 今回は、この投稿タイプアーカイブの表示の際に、page-attributes がサポートされていれば、自動的に順序(menu_order)順に従って表示されるようにしてみましょう。 CODE 1では、記事を取得する直前の pre_get_posts にフックしてクエリーの条件を書き換える処理を行っています。ただし、条件指定がされていた場合は、上書きせずに指定値をそのまま利用するため、固定ページ同様に管理画面な

    hr07jp
    hr07jp 2011/10/14
    順序をサポートしたカスタム投稿タイプのデフォルト表示順を変更
  • WordPressのget_the_categoryの取得順をカスタマイズする – Simple Colors

    WordPressで投稿記事が属するカテゴリーを取得する get_the_category は、属するカテゴリーをカテゴリーの名前順で取得してきます。これは、カテゴリーだけでなく、投稿タグの get_the_tags やカスタム分類での get_the_terms でも同様です。 しかしながら、利用シーンによっては名前以外の順序で取得したい場合もあるのではないでしょうか。今回は、この取得順序を指定できる方法を紹介してみたいと思います。 やり方はいろいろあって、 get_the_terms のフックを利用する方法 wp_get_object_terms 関数で orderby パラメータを指定する方法 などもありますが、今回は単純ながらデフォルト取得結果を特定の値で再ソートする方法を採りたいと思います。 というのも、1では引数が自由に取れず特定のカスタマイズしか出来ないこと、2では使う毎にデ

    hr07jp
    hr07jp 2011/10/04
    WordPressのget_the_categoryの取得順をカスタマイズ
  • WordPressのユーザーに所属情報などを付加できるプラグイン「User Categories」をリリース – Simple Colors

    リンクにリンクカテゴリーがあるように、ユーザーにもユーザーカテゴリーを作ることも可能なのでは?と思い、ユーザー用にカスタム分類(ユーザーカテゴリー)を適用させるプラグイン「User Categories」を作成してみました。 普通のプラグイン同様、プラグインメニューから User Categories を有効化すると、ユーザーメニューに新しく「ユーザーカテゴリー」というメニューが追加されます。 ユーザーカテゴリーは、カテゴリー同様にカテゴリーで親子関係を持つことが可能で、ツリー構造を持った組織構造を再現することも可能となっています。 ユーザーカテゴリーにカテゴリーを追加すると、「ユーザーの編集」「プロフィール」編集画面に登録したカテゴリーのチェックボックスが追加表示されるので、適宜チェックしユーザー情報の更新ってください。 ユーザーがどのユーザーカテゴリーに属しているかを取得するには、カス

    hr07jp
    hr07jp 2011/09/30
    [wordpress[WP_plugins]]WordPressのユーザーに所属情報などを付加-User Categories-
  • WordPressで挿入する画像のsrcを相対リンクにする【発展版】 – Simple Colors

    一番最初に書いた記事「WordPressで挿入する画像のsrcを相対リンクにする」では、環境移行がしやすいよう、単に画像のドメイン部分をカットしていました。 ただし、これには1点問題があってRSSリーダーなどで表示する際に、ドメインが異なるため、画像が表示できていませんでした。 この問題に対応するため、以前のコードを元にドメイン部分をショートコード化し、表示する際に、運用中のドメインを追加するように改正してみようと思います。 ドメインを表示するためのショートコードは [domain] として、相対リンクのurlに付け足します。 CODE 1 function delete_host_from_attachment_url( $url ) { $regex = '/^http(s)?:\/\/[^\/\s]+(.*)$/'; if ( preg_match( $regex, $url, $m

    hr07jp
    hr07jp 2011/09/26
    WordPressで挿入する画像のsrcを相対リンクにする【発展版】
  • 「Meta Manager」0.2.0アップデート – Simple Colors

    Meta Maneger利用させていただいております。 できれば、DescriptionやKeywordsの内容を一部のOGPでも利用したいと思い、以下のように手を入れてみましたが、うまくいきません。ご助言いただければと思います。 クラス内に、以下のインスタンスメソッドを追加。 public function output_meta_description() { $meta = $this->get_meta(); $output = ”; if($meta[‘description’]) $output .= esc_attr( $meta[‘description’] ); return $output; } クラスの外の $meta_manager = new Meta_Manager; の下に、 $meta_des = $meta_manager->output_meta_des

    hr07jp
    hr07jp 2011/09/14
    WordPressのメタキーワード、メタディスクリプションを出力するプラグイン-Meta Manager-
  • WordPressのメタキーワード、メタディスクリプションを出力するプラグイン「Meta Manager」 – Simple Colors

    WordPressのhead要素にmeta要素の keywords と description を追加するプラグイン Meta Manager を公開します。 まだまだ、試験公開段階なので「こうして欲しい」「こういう機能があったらいい」などのご意見やご要望がありましたら、どしどしコメントしてください。 概要 head要素内にメタキーワード、メタディスクリプションを出力します。 出力サンプル <meta name="keywords" content="WordPress,ワードプレス,WordPress,PHP,web,アニメ,F1,セミナー" /> <meta name="description" content="Simple Colorsは、WordPressエキスパートのjim912によるカスタマイズテクニックを紹介するブログです。" /> 利用方法 Meta Manager を有

    hr07jp
    hr07jp 2011/09/08
    メタキーワード、メタディスクリプションを出力-Meta Manager