[WordPress] カスタムメニューの項目に付与されるクラスをカスタマイズする
いつものごとくメモ程度に。WordPressにもカスタムメニュー機能が追加されて、ナビゲーションを管理画面から自由に作成することができるようになった。柔軟性が高く、拡張性にも配慮された実装なので便利なのだが、カスタマイズしにくい。とはいえ、wp_nav_menu テンプレートタグでメニューを呼び出す際、独自の Walker クラスを指定すればなんとでもなるのだが、Walker...
View Article続・WordPressの検索をカスタマイズしてみた
以前フォーラムの投稿をきっかけにWordPressのデフォルトの検索をカスタマイズするという記事を書きましたが、実務で使う機会が来て色々やってみたのでシェアしておきます。ええ、まだWordPressの仕事もほそぼそやってるんですよ。 検索結果から特定のカテゴリーを除外する is_searchで検索結果ページを表示している時に限定し、category__not_in パラメーターをセットして、IDが...
View Articleconcrete5でモバイルからのアクセスの際に条件分岐する
例によってメモ程度に。モバイルのUser Agent判定用のサードパーティーのライブラリーがあるので、それを読み込んできたら基本的にどこでも使えます。 Loader::library('3rdparty/mobile_detect'); $md = new Mobile_Detect(); if($md->isMobile()) { // mobile view // sample :...
View Articleconcrete5でユーザー登録時に自動的にユーザーをグループに追加する
concrete5はユーザーに会員登録をさせることができます。この時に、特定のユーザーグループに所属させることができれば、のちのち管理が便利なことがあるかもしれませんね。 実際の処理は、コア → コントローラー → シングルページの register.php に書かれています。 concrete/core/controllers/single_pages/register.php この中でも、...
View Articleconcrete5のシングルページで確認ダイアログを出す
concrete5のシングルページ(管理画面)を作る時に、破壊的な操作を実行する前に確認のダイアログを表示し、不注意による操作ミスを減らしたいというニーズがあったので、ちょっと作ってみた。...
View Articlequery_postsを捨てよ、pre_get_postsを使おう【追記あり】【報告あり】
WordPressのテンプレートをカスタマイズしようとして高確率でハマったり事故ったりするのが query_posts 関数というやつでして、ぐぐってみたらこの1年以内にも query_posts の使い方を「WordPress使うなら必須知識!」として解説したり、いまだに $paged...
View Articleconcrete5の権限機能を使いこなす(1)〜あるいは、そもそもなぜ権限機能が必要なのかというだらっとした話
オープンソースのCMS「concrete5」は、もともとエンタープライズ用途で開発された有償のCMSでしたので、権限周りの機能が充実しています。オープンソースになってからも権限周りの機能は積極的に開発されていて、バージョン5.6でそれまでの権限機能から大幅に拡張され、さらに詳細な設定が可能になりました。この記事では、この最新の権限機能についてご紹介します。いったん寝かせて推敲して、公式サイトに転載し...
View ArticleWP_Queryで投稿データを取得する【追記あり】
query_postsはもうオススメされない方法になりますよ、とうブログを書いたところ、固定ページのテンプレートにquery_posts()を書いて別の用途に使っている場合はどうしたらええんじゃいというトラバをいただきましたので、簡単に補足。 [WordPress]固定ページで記事一覧を表示するために行き詰まったあれこれ *Ateitexe...
View ArticleAdvanced Custom Fieldsプラグインを使う際の注意点など
Advanced Custom Fields(ACF)というWordPressのカスタムフィールドを拡張するプラグインが最近メジャーバージョンアップしまして、以前から気になっていたデータの持ち方についてちょっと調べてみました。 ACFのフィールドグループはカスタム投稿タイプ「acf」の投稿データとしてwp_postsに保存されています。...
View Articleconcrete5の検索ブロックを複合検索にカスタマイズする
concrete5のデフォルトの検索ブロックは、実はページ属性を使った複合検索に対応しています。ブログのタグ検索に対応するためですね。 そんなわけで、検索ブロックのカスタムテンプレートを作成し、属性を追加してあげるだけでOKです。楽ちん。検索ブロックのデフォルトテンプレートは /concrete/blocks/search/view.php です。このファイルを複製し、...
View ArticleZurb Foundation 4 チートシート
CSSフレームワークとして、個人的にTwitter Bootstrapより断然注目しているZurb製のFoundation 4のまとめです。Bootstrapはウェブアプリ、ウェブサービス向けという感じがしますが、Foundationはウェブサイトに適していると思います。...
View Article不安とか希望とか決意とか
concrete5のコミュニティリーダーのKatzさんに会いに行ったのが2010年の関西オープンソースだった。 今はステッカーで埋まっている自分のMacBook Proにconcrete5のステッカーだけ貼ったのを覚えている。 今イチオシのCMS、concrete5です。 最初、concrete5にはただ自分が面白いから、楽しいから参加していた。...
View Article最近リリースされた #concrete5 の注目アドオン22選
多彩な機能を持つconcrete5ですが、豊富なアドオン(拡張機能)やテーマ(デザイン)を公式マーケットプレイスから入手できるのも魅力のひとつです。...
View Articleconcrete5のレイアウト機能を Zurb Foundation 4 に対応させる
concrete5には「レイアウト」機能があり、編集モード内で編集エリア内を分割することができます。 列数、行数を指定するだけでかんたんに編集エリアを分割できる この機能は便利なんですが、divのstyle属性に直接幅などが出力されるので、レスポンシブ対応ができません。コアチームでもこの問題は把握していて、次のメジャーバージョンアップとなる5.7では、Twitter BootstrapやZurb...
View ArticleSassバージョンのZurb Foundationを使う
CSSフレームワークのFoundationにはカスタマイズダウンロードページがありますが、設定値を細かく変えながらテストしたいときには全く使えません。Sassを使ったほうがラクですよね。とりあえずインストール方法のメモです。Mac OS 10.8.3での話なので、他のプラットフォームだと違う可能性があります。...
View ArticleZurb Foundation 4 と 3 を併用する
昨日の記事でSass版のFoundation 4のインストールに成功したのですが、もうひとつFoundation 3で進めている案件もありまして、両方使うにはどうしたらいいのかなと。調べたところ、Rubyアプリケーションの依存関係を解決してくれるBundlerというしくみを使うのがよさそうです。 とりあえずbundlerをインストールします(Macはsudoが必要です)。 $ sudo gem...
View ArticleWordPressで投稿タイプに含まれるタクソノミーごとの最新記事を表示する(ちょっと修正)
すぐできそうなのに1時間半も調べまわってしまったので怒りの投稿。ポイントは、get_object_taxonomies()関数です。分かりにくない、この名前。そして日本語Codexにページがない模様。暇ができたらページ作るか…(いつの話だろうか) get_object_taxonomies( 'post' );...
View Article本格的に制作にSassを導入してみたわけだが
Webサイト制作にSassを本格的に導入してみました。単に便利なだけではない色々メリットがあるということに気づいたので、かんたんにまとめてみます。 CSSでは不可能な入れ子構造で書けるのは、思ったより便利 Sassでは、CSSではできない入れ子構造での記述が可能です。たとえば、公式サイトの例ですが… table.hl { margin: 2em 0; td.ln { text-align:...
View Article知っておくと便利なconcrete5デザインカスタマイズ小ネタ集
テーマ ユーザーがログインしているときだけ表示 <?php $u = new User(); if ($u->isRegistered()) { ?> ログインしているときだけ表示される何か <?php } ?> 編集モードの時だけ表示 <?php if($c->isEditMode()) { ?> 編集モードの時だけ表示される何か <?php...
View Article
More Pages to Explore .....