タグ

ブックマーク / notnil-creative.com (17)

  • 続・WordPressの検索をカスタマイズしてみた

    以前フォーラムの投稿をきっかけにWordPressのデフォルトの検索をカスタマイズするという記事を書きましたが、実務で使う機会が来て色々やってみたのでシェアしておきます。ええ、まだWordPress仕事もほそぼそやってるんですよ。 検索結果から特定のカテゴリーを除外する is_searchで検索結果ページを表示している時に限定し、category__not_in パラメーターをセットして、IDが 1 のカテゴリーを検索結果から除外してみた。 function my_custom_query($query) { if ( is_admin() || ! $query->is_main_query() ) return; if ( $query->is_search() ) { $query->set( 'category__not_in', array(1) ); } }

  • WP_Queryの使い方をPHPコードにまとめた便利なコード・スニペット

    WordPressのWP_Queryの使い方を1枚のPHPファイルにまとめたコード・スニペットがgistにアップされていました。WP_QueryはWordPressの根に関わる機能であると同時に、ここを理解することがWordPressを使ったカスタマイズすべての基礎になります。なのでスニペットがあると非常に便利だと思い、forkして翻訳してみました。 2014/07/16 最新版に追随しました。

  • Really Simple CSV Importer 日本語解説&カスタマイズ例

    WordPressのプラグイン、Really Simple CSV Importer のバージョン1.0をリリースしました。ということで、今さらですが、プラグイン説明欄の日語訳を載せておきます。ネット上には、何やら怪しげな解説記事がちらほら出回っているようですので…。 バージョン1.0では、アクションフックを追加し、便利なヘルパークラスも新作しました。当初考えていた機能はこれで出そろいましたので、あとはメンテナンスやら多言語対応やらをのんびりやっていこうかと思います。次に作成するWordPressプラグインとしては、concrete5のインポートファイル形式へのエクスポートプラグインを予定しています。 なお、Really Simple CSV Importerには、torounitさん作のReally Simple CSV Importer Media Plusという派生プラグインが存在

    Really Simple CSV Importer 日本語解説&カスタマイズ例
  • query_postsを捨てよ、pre_get_postsを使おう【追記あり】【報告あり】

    [2013-07-15追記] より詳しい補足記事を書きました。 → WordPressでページ送りが動かないのはどう考えてもquery_postsが悪い!【pre_get_postsまとめ】 WordPressのテンプレートをカスタマイズしようとして高確率でハマったり事故ったりするのが query_posts 関数というやつでして、ぐぐってみたらこの1年以内にも query_posts の使い方を「WordPress使うなら必須知識!」として解説したり、いまだに $paged を引数で渡さなきゃいかんとか、書いてあるブログ記事もたくさん見つかりまして頭痛が痛くなります。この際、はっきり言っておきましょう。 もう query_posts は一切使う必要ありません。 いやまあ、かく言うワタシも迷っていた時期がありまして。でも周りのWPerにquery_posts要らないらしいよ?という話を聞く

  • 一番分かりやすいWordPressとconcrete5のカスタマイズ方法の違い

    このお題が分かりやすいなぁと常々思っています。企業サイトをCMSで構築するとして、ありがちなこのカスタマイズです。 「トップページに新着ニュース5件を表示してください。」 WordPressの場合 トップページへの変更ですので、お使いのテーマのindex.phpを開きましょう。ただし、お使いのテーマや設定によっては、front-page.php, home.php, page.phpのいずれか、またはそれ以外である可能性があります(Show Current Templateプラグインなどを入れておくとすぐに分かりますね)。 新着情報を表示したい箇所に、下記のコードを追加しましょう。ちなみに筆者がCodaのスニペットに入れていつも使っているコードです。 // 表示オプションの指定 $args = array( 'posts_per_page' => 5, // 表示件数 'cat' =

  • ノートPCでの作業に最適化された椅子!? オカムラ「Shift」感想

    Webのお仕事も長くやってると、座りっぱなしの生活が長くなり、腰が痛くなるものですよね。まだ若いから平気!とちょっと前まで思っていたはずが、最近めきめきと酷くなって来まして、寝ていても腰が痛い、起きても腰が痛い状態でして、これは椅子の改善が急務!と思い立ちました。色々と周りの人にはこの椅子がいい、いやあの椅子だ、と高級なビジネスチェアをおすすめはされていたのですが、いまいちピンと来なかった。それは、 高い椅子は確かに座りやすいけど、こんな姿勢で仕事せんわ! と思ったからなんですね。特に、MacBookでしか仕事をしませんので、いくら椅子が良くて背筋が伸びても、画面は下の方にあるので、目線が合わない。 ところが、世の中にはそんな疑問を解消してくれる画期的な商品があるんですね!オカムラ(岡村製作所)の「Shift」です。 「いい姿勢を作る」のではなく、 「ノートPCでの作業に最適化する」という

    ノートPCでの作業に最適化された椅子!? オカムラ「Shift」感想
  • WordPressのカスタムフィールドがかなり便利になっている件(3.5対応)

    おそらく、数年前のWordPressの解説の知識でいる方にとって、かなりオドロキの進化がなされているのではないかと思うのが、WordPressのカスタムフィールド周りの機能です。 たとえば、ピックアップ商品としてフラグを立てた商品の中から、価格が500円以上のものを最新5件取得して表示する、みたいなコードは、WordPress3.5ではこのように書けます。非常にスッキリしております。 <section> <h1>ピックアップ商品</h1> <ul> <?php // 投稿の取得条件を設定 $args = array( // 'product' 投稿タイプから取得 'post_type' => 'product', // 最新の投稿を5件取得 'posts_per_page' => 5, // カスタムフィールドで絞込み '

    WordPressのカスタムフィールドがかなり便利になっている件(3.5対応)
  • WordPressでページ送りが動かないのはどう考えてもquery_postsが悪い!【pre_get_posts、WordPressループまとめ】

    WordPressでページ送りが動かないのはどう考えてもquery_postsが悪い!【pre_get_posts、WordPressループまとめ】 とか、元ネタありのパロタイトルで技術情報を書くのが余計なんだろうなぁと思います、おはようございます。最近はconcrete5とRWDの記事が多かったのですが、久々のWordPressネタです。WordBench神戸でセッションを持たせてもらいました、「これからのpre_get_postsの話をしよう」の補足記事です。なお、WordPress3.5.2時点での情報になりますので、今後のバージョンアップで変更がある場合がありますのでご了承ください。 このセッションは、過去にquery_postsを捨てよ、pre_get_postsを使おうという記事を書いたところ、query_postsを使っていた方からの不安の声が噴出したり、フォーラムでpre_

  • 自動バックグラウンドアップデートを止める方法

    一応、日語情報が見つからなかったのでメモ。3.7から管理画面の「更新」ページから手動で実行しなくても、勝手にバージョンアップしてくれる自動バックグラウンドアップデート機能が実装されました。アップデートがチェックされるのは、コアファイル、テーマ、プラグイン、翻訳の4つです。テーマ、プラグイン、コアのメジャーバージョンは自動アップデートがデフォルトでオフになっていますので、コアのマイナーバージョンと翻訳が今のところ自動アップデートの対象です。 自動アップデートはwp-config.phpに以下追記で停止できます。 define( 'AUTOMATIC_UPDATER_DISABLED', true ); ただし、セキュリティを高めるために特別な理由がない限り止めない方がよいです。何となく怖いから止めておくというのはナンセンスな態度です。WordPress.orgからダウンロードしたテーマやプ

    nibushibu
    nibushibu 2013/10/25
    WordPressもついに自動アップデートが実装されたのかー
  • WordPressのエディタ(TinyMCE)をプラグイン無しでカスタマイズする

    案件で要望があって調べたのでメモ。テーマのfunctions.php、または自作プラグインからTinyMCEをカスタマイズする方法です。TinyMCE関連のプラグイン要らんなコレ。 クライアントワークで毎回同じ設定にするわ!という方や、デザインとぴったりマッチしたエディタにしたい!という方、エディタの機能を制限したい方向け。 ボタンを追加する TinyMCEのボタンが入る行は4行用意されていて、1行目から順に mce_buttons, mce_buttons_2, mce_buttons_3, mce_buttons_4 のフィルターが用意されている。3行目と4行目は初期設定では空だ。ここでは3行目にスタイルの選択(styleselect)、フォントの選択(fontselect)、フォントサイズの選択(fontsizeselect)、テキストの背景色の選択(backcolor)を足している

    WordPressのエディタ(TinyMCE)をプラグイン無しでカスタマイズする
  • query_postsとget_postsの違い[追記あり]

    [2013/07/25 追記] get_posts で検索してこの記事にアクセスされる方が多いのですが、この記事はquery_postsとget_postsをソースコードで比較したものですので、使い方を知りたい方は「WordPressでページ送りが動かないのはどう考えてもquery_postsが悪い!【pre_get_postsまとめ】」も合わせてご覧ください。 query_posts と get_posts。どちらもWordPressから投稿のデータを取得するのに使えるので、特に使い分けを意識していない方も多いのではないかと思います。自分自身もはっきり結論がでているわけではないのですが、今回はこの違いについて考えてみます。 ※ WordPressについての立ち入った内容なので、予めお断りしておきます wp-includes/query.php に書かれています。 function &am

    query_postsとget_postsの違い[追記あり]
  • [WordPress] ウィジェットの初期設定をfunctions.phpから変更する

    WordPress関連の小ネタです。 PS Taxonomy Expanderのように、WordPressの機能を拡張するプラグインを使用している場合で、反映にはパラメータ値を追加する必要がある場合があります。例えば、このプラグインを使えば、カテゴリー一覧の表示順をこのように変更できます。 <?php wp_list_categories( 'orderby=order'); ?> しかし、 orderby パラメータ値の設定は、WordPressのウィジェットの設定項目にはありませんね。このような場合、functions.php などからウィジェットの設定項目を調整することができます。 function force_category_orderby_order( $cat_args ) { $cat_args['orderby'] = 'order'; return $cat

    [WordPress] ウィジェットの初期設定をfunctions.phpから変更する
  • WordPressのパンくずナビゲーション(Breadcrumb NavXT)をカスタマイズする

    メモ程度に。WordPressにはBreadcrumb NavXTという高機能なパンくずリスト表示のプラグインがあります。かなり詳細な設定が可能ですが、設定画面からは変更できないカスタマイズを加える際は、アクションフックを用いて独自のカスタマイズを追加することができます。 今回は項目名が「ほむほむ」だった時にその項目をパンくずナビから外すという処理を作ってみました。サイトの構造によっては特定のページをパンくずに表示させたくない場合がありますので、利用機会は多いかと思います。アクションフックがあることを知らなくて、以前は特定の場合ではプラグインをあきらめて自前で書いていましたが、このほうが簡単です。 function my_filter_breadcrumbs($bcnObj) { $trail = array(); if ( count($bcnObj->trail) > 0

    WordPressのパンくずナビゲーション(Breadcrumb NavXT)をカスタマイズする
  • WordPressで複数のカスタム属性をミックスしたタグクラウドを表示する

    WordPress3.0以降、身近になった感のあるカスタム属性(タクソノミー)。かんたんに言うと、記事につける投稿タグを自由に追加できる機能です。タグのグループ分けをしたいなというときに便利です。 今回はそんなカスタム属性を複数追加した場合に、複数のタクソノミーを横断したタグクラウドを作る方法をご紹介します。標準のwp_tag_cloud()のちょっとした改造ですので、そのうち標準で対応されるかもしれないです。 複数のカスタム属性をミックスする関数 テーマのfunctions.phpに追加してください。 function mixed_tag_cloud( $args = '' ) { $defaults = array( 'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45, 'format

  • WordPressのビジュアルエディタで行頭の全角スペースが消える問題を解決する方法

    WordPressで標準で使われているWYSIWYGエディタのTinyMCEの設定を変更する方法のメモです。お使いの functions.php に下記コードを追加してください。 add_filter('tiny_mce_before_init', 'my_tiny_mce_before_init_filter',10,3); function my_tiny_mce_before_init_filter( $init_array ) { $init_array['remove_linebreaks'] = false; return $init_array; } これで、スペースが自動で取り除かれる機能がオフになります。スペースでデザインを調整するのはあまりよろしくないんですが、また別の話…。 変更したオプションについてはこちら(あんまり分かってないですけど) remove_linebr

  • WordCamp KOBE 2011のセッションでお話ししました

    実行委員として運営に関わっていた、オープンソースソフトウェアのWordPressに関する一大カンファレンス、「WordCamp KOBE 2011」が無事終了いたしました!ボランティアで参加してくれた運営スタッフ、素晴らしいスピーカー、スポンサー様、そしてもちろん全ての来場者のみなさんのおかげで大成功に終わったと思います。感謝でいっぱいの気持ちです。 至らない点はいろいろありましたが、関西のコミュニティだけで企画したWordCampは史上初らしいですので、今後に期待…ということでご容赦いただければと思います(^^; イベント当日のレポートと、WordCamp運営に携わって気づいたことなどについては、後日まとめ記事をアップしようと思います。WordCamp実行委員としての仕事はまだまだ残っていますので…。 今日はWordCampで1コマ受け持たせていただいた、自分のセッションの資料を公開のう

  • WordPressテーマ開発のベースになる『NC White』テーマ

    WordPressでコーポレートサイトを構築する際に、マークアップの共通部分やリセットCSSなど、最低限必要だけど、毎回使用するという部分を使いまわすためのテーマ『NC White』を公開します。 どういうもの? このテーマのスタイルシートは、ブラウザごとのデフォルトCSSをオフにするリセットCSSだけが読み込まれた状態です。それ以外のCSS・画像は何も入っていないので、デザインが全く当たっていない状態になります。 機能面では、コーポレートサイト構築の際に使わない機能をばっさり切り落としています。投稿者名やタグの表示、コメント欄など、ブログ機能では使用するけれど、企業サイトではほとんど使わない機能が多数ありますよね。それだけでなく、必ずしも毎回使わないな、という機能さえばっさりそぎ落とし、真っ白なテーマにしています。 機能 親テーマとしての使用専用(レイアウト用のCSSは無し) HTML5

    WordPressテーマ開発のベースになる『NC White』テーマ
  • 1