WordPressでテーマからJavascriptやCSSを読み込む書き方まとめ

WordPressでテーマを作る場合、Javascriptや外部CSSを使うことも多いと思いますが、テーマのheader.phpに直接書くのではなく、functions.phpから一括で管理する方法です。

WordPressでは、キューに追加されたJavascriptやCSSを wp_head() や wp_footer() の位置で、自動的に適切な順番で出力してくれます。特にjQueryなどのライブラリやjQueryプラグインを使用する場合は、複数のjsファイルに依存関係が発生し、読み込む順番が決まってくる場合があります。こういう時でも、一括管理していればあとあとで変更が楽になります。こんな感じ。

/**
 * スクリプトとスタイルをキューに入れる
 */
function my_scripts() {

// 管理画面では読み込まない
if ( !is_admin() ) {

// スタイルシートディレクトリーを取得する。この方法だと子テーマでもそのまま使える
$dir = get_stylesheet_directory_uri();

// テーマのjsディレクトリーのmy-script.jsをキューに入れる。
// さらに、jQueryに依存するのでjQueryの後で入れるように指定した場合。
wp_enqueue_script( 'my-script', $dir.'/js/my-script.js', array('jquery'));

// jQueryをGoogleがホストするものに差し替える
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' );

// Google Maps APIを読み込む
// 豆: 第3引数にNULLを入れると末尾に余計な ?var=xxx が付かない
wp_enqueue_script( 'google-maps-api', 'http://maps.google.com/maps/api/js?sensor=false', array(), NULL );

// テーマのjsディレクトリーのmy-map.jsをキューに入れる。
// jQueryとGoogle Maps APIの両方に依存するので、配列で両方を指定した場合。
wp_enqueue_script( 'my-map', $dir.'/js/my-map.js', array('jquery','google-maps-api'));

// <head>タグ内ではなく</body>直前にスクリプトを出したい場合は、第4引数にtrue
wp_enqueue_script( 'my-footer', $dir.'/js/my-footer.js', array(), false, true );

// 特定のページでスクリプトを出したい場合
if ( is_front_page() ) {
	wp_enqueue_script( 'my-top', $dir.'/js/my-top.js' );
}

// 不要なスクリプトをキューから外す(親テーマやプラグインで要らないのがあったとき等)
wp_dequeue_script( 'parent-script' );

// スタイルシートも基本同じように使えます。
wp_enqueue_style( 'my-css', $dir.'/css/my-css.css' );

// 不要なスタイルをキューから外す(親テーマやプラグインで要らないのがあったとき等)
wp_dequeue_style( 'parent-style' );

}

}
add_action( 'wp_enqueue_scripts', 'my_scripts', 50 );

Continue reading

Posted in Web制作Tips | Tagged | Leave a comment

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

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

…が、途中で断念しました Cry

長いんだもんコレ!
スニペットの作者も同じように思ったのか、終わりのほうが投げやりです\(^o^)/

Continue reading

Posted in Web制作Tips | Tagged | Leave a comment

MAMP環境でconcrete5をコマンドラインからインストールする

オープンソースのCMS「concrete5」をコマンドラインからインストールする方法のメモです。

まず、最新のconcrete5のソースをconcrete5日本語公式サイトのダウンロードページから入手します。

http://concrete5-japan.org/about/download/

ダウンロードしたzipを解凍して、MAMPのドキュメントルートに移します。今回はhtdocs直下にフォルダごと設置しました。フルパスはこのようになります。

/Applications/MAMP/htdocs/concrete5.5.1.ja

この状態でアクセスすると、環境チェック画面になります。初めてインストールされる際は、インストールに問題ないか確認しておきましょう。

Continue reading

Posted in Web制作Tips | Tagged | Leave a comment

concrete5関西ユーザーグループ 第7回 勉強会開催しました

3月18日にconcrete5関西ユーザーグループ主催の第7回勉強会を開催しました。この勉強会は、オープンソースCMS「concrete5」を使っているユーザーが集まって気軽に情報交換する場を作ろう!という趣旨で、関西でオープンソース系のイベントがある月を除いて毎月開催しているものです。

concrete5関西ユーザーグループ 第7回勉強会

新バージョン5.5.1の紹介

まずconcrete5日本語プロジェクトの活動報告として、リリースしたばかりの新バージョン5.5.1の紹介をしました。新バージョンは管理画面が一新され、新機能「スタック」と「グローバルエリア」が増えたことでページ数の多いサイトの管理が楽になりました。

また、インストール方法と手動アップグレード方法のおさらいをしました。ついでにコマンドラインインストールのデモも行いました。コマンドラインインストールについては、またブログに書こうと思います。

参加者によるプレゼン

今回は新しい試みとして、参加者の方にconcrete5に関連したプレゼンテーションを行なっていただきました。concrete5はネットに情報も少なく、これからconcrete5を触ってみるんだという参加者も多かったため、この勉強会はこれまで参加された方からの質問に主催の菱川が答えるという形式で続けてきました。しかし、続けているうちに継続して参加していただいている方や、コミュニティ活動を続けている方も増えたことから、みなさんからプレゼンテーションをしていただくことにしました。

まずは5.5.1日本語版のリリースにも貢献されたacliss19xxさんによる、Q&Aサイトの作り方、カスタムテンプレートやテーマのカスタマイズの実例紹介です。また、Designer Contentアドオンも紹介していただきました。このアドオンは、concrete5のブロックをプログラミング一切なしで、管理画面からGUIで作成できるという驚愕の便利アドオンです。使い方は公式サイトにもページがありますので、ご参考までに。

次にnanpouさんによる怒涛のconcrete5事例集。これはすごかったです。色んなアイディアを駆使して、短期間でサイトを立ち上げることができる、さらに「初めてパソコンを触る」レベルのITリテラシーが高くない方でもなんとか使える、concrete5のすごさをあらためて感じました。

また、medakaさんによるグリーンツダボクシングクラブのサイトの紹介。使っているアドオンやテーマを実際に見せていただき、更新の工夫も教えていただきました。有償プラグインを導入されているので、どういう機能か見れるのは貴重な機会ですね。また、制作中のInnovationテーマをベースにした会員制サイトの紹介もありました。このテーマ、まさに会員制サイトに最適ですね。

最後はtomoacさんによるTomoac Form 5の新機能の紹介。とんでもなくハイスペックな仕様になりつつある…。フォームはこのブロックがあればOKですね。一回真面目にソース見ようっと…。

ネタが出てこなかったらと思って自分もWordPressからのマイグレーションをプレゼン予定だったのですが、全く必要なかったですね。次回時間があればやります :)

今後は特定のサイトに掘り下げて聞いてみたりしたいですね。便利なアドオンを1人1つ紹介とかもいいかも。ますます充実しているconcrete5関西ユーザーグループ主催の勉強会、次回は4/22(日)の開催です。ご参加申し込みは下のZusaarイベントページからどうぞ!

http://www.zusaar.com/event/243003

Posted in 日報 | Tagged , | Leave a comment

concrete5の魅力とconcrete5の国内のコミュニティについて改めて語ってみる

3月16日に、オープンソースのCMS『concrete5』の最新バージョン5.5.1の日本語版が、日本のコミュニティメンバーの尽力で、英語版のリリースから実に2ヶ月遅れでリリース出来ました!めでたい!

» concrete5.5.1 日本語版リリース

このリリースには結構労力を割いたので、ぜひ皆さんに使ってほしいと思います。そこで、concrete5の魅力を改めて簡単に紹介してみることにしました。また、日本のコミュニティが日本語版のリリースにあたってどういう作業をしているのかも紹介してみようと思います。

concrete5って?

concrete5はCMS(コンテンツ・マネジメント・システム)と呼ばれるソフトウェアです。いわゆる世間で「ホームページ」と呼ばれる、ウェブサイトを管理するのに特化したPHP製のアプリケーションです。当サイトのトップページはconcrete5を利用しています。ちなみに、このブログはWordPressという別のオープンソースのソフトウェアを使っています。

concrete5の魅力を説明するときに必ず挙げる3つはこれです。

  1. Webの知識がないサイト運営者でも分かりやすい
  2. デザインカスタマイズがやりやすい(プログラミングの知識が要らない)
  3. プログラマにやさしい
Posted in CMSの活用 | Tagged | 1 Comment