• ここ1ヶ月、Drupal漬け、たまにWordPressという日々を送ってきました。いや、まだ終わっていないんですが。。。。
    というのも、最初はWordPressで制作の方を進めていたのですが、要件定義や、サイト設計の部分にかなり穴があったわけです。

    結果、コミュニティサイト的な機能を持たせることになり、その実装をWordPressで行うのが、難しい。というゴタゴタしたいきさつの中Drupalへの以降を決定したという次第です。

    そんなわけで苦労した点、テーマ作成、モジュールの話などをWordPress位しかマトモに触ったことのない人間の視点から思ったことを書き連ねていこうと思います。

    尚、制作はDrupal6.20で進行したので、基本的には6系の情報です。

    (さらに…)

  • WordPressテーマの作り方その4。今回はfunctions.phpについてです。

    functions.phpとはテーマ内で使用する関数や設定等が記述されるファイルです。
    functions.phpはテーマが設定されている間、常時読み込まれているファイルです。管理画面を見ているときでもしっかり読み込まれています。ですので、複数のテンプレートファイルで同じコードを関数化、ないしクラス化して使い回すことができます。

    つまりは、
    [php]
    function hello(){
    echo "Hello World!!";
    }
    [/php]

    等という関数をfunctions.phpで定義しておくと、どのテンプレートファイルからも呼び出して使うことができる、ということです。WordPressのプラグインも基本的には同じような仕組みで動いていますので、プラグインでできることは大抵functions.phpに記述することが可能です。ただ、余り大がかりだと管理運用で面倒が発生すると思われるので、そういう場合はプラグイン化する方が良い気がします。

    また、ウィジェットエリアの定義、各種機能の有効化もこのファイルに記述することでなされています。
    とりあえず、よく使う物を書き並べていきます。

    (さらに…)

  • 昨日やっていたHTML5とJavaScriptの切っても切れない関係/CPI x CSS Nite「After Dark」(1)で紹介されていたjQuery hashchange event のデモを早速作ってみました。

    https://torounit.com/demo/hashtag/

    1/24:スクリプトエラーを修正しました。

    制作に当たっては5509様のところの
    Ajaxやタブ切替には必須かも?ブラウザの「戻る」「進む」を有効にするjQueryのhashchangeプラグイン
    を参考にさせてもらっていますです。

    [js]
    $(function(){
    $(window).hashchange(function() {
    $("hoge").load(location.hash.replace(‘#’, ”)+ "hogehoge");
    });
    $(window).hashchange();

    $("a").each(function(){
    var setHref = $(this).attr("href").replace("http://hoge.com", "#");
    $(this).attr({href:setHref})
    });

    });

    [/js]

    のように使います。

    追記:学び処 立志塾様のサイト制作で活用させて頂きました。

    aタグのhrefのドメインを削除して代わりに#を入れています。これで、画面遷移が無くなります。
    ソースに直接#を書くとjs非対応の場合に不都合が出てくるので、jsで置換します。
    js無しの場合は普通にリンクで飛ぶようにしてあげています。

    このやり方だと、直接内部のページに飛んだときにjsで#付きにリダイレクトさせてあげる必要があります。

    また、ソースに記述する場合、#の代わりに#!を用いると、Googleはトラッキングしてくれるようです。サイトによって選択してゆく必要がありそうですね。
    ただし、そんな必要があるのってtwitterのようなwebアプリとかですかね。

    やはり画面遷移を無しにコンテンツを見せることができるというのはかなり大きなメリットになるのではないですかね。。。

    しかし、これhashchangeって言うんですね。知らなかった。というか、名前がわからないからどう調べていいかわからなかったという。。。

  • 引き続きCMS Made Simple(CMSMS)を試していきます。
    今回はフレンドリーURLとニュースのテーマや階層構造などについてちょっと書いていきます。

    CMSMSでは特に管理画面から、URLの構造を変更するとかはできないようです。
    なので、フレンドリーURLの設定をするにはconfig.phpを触らねばだめなようですねー。

    (さらに…)

  • 2010 Open Source Award のCMS部門で受賞した、CMS Made Simple を試してみました。
    そのついでにhetemlでのインストール方法。

    COWBOY HACKSさんがデモサイトを立ち上げているのでそちらも見てもらえれば。
    CMS Made Simple | COWBOY HACKS

    (さらに…)

  • 前回は、テンプレートを部品分けすることをやりました。
    今回は1回目でさらっと書いた、テンプレート階層について、もう少し掘り下げていこうと思います。

    (さらに…)

  • カスタム分類のラベルが、wp_titleから出力されてしまうのを避けたかったのですが、プラグインなどを見つけられなかったので自作します。
    wp-include内のgeneral-template.php からwp_titleのソースを失敬して、必要なところだけを書き換えてfilterにかけているだけですが・・・・・。

    (さらに…)

  • 職場で新しく入った人にWordPress信者になって頂こうという布教活動の一環で、WordPressのテーマの作り方をまとめていきたいと思います。
    デフォルトでついてくるテーマtwentytenとか、色々配布テーマがありますよね。ただ、多機能だったりして、ブログテーマとしてはいいんだけど、WordPressのテーマを理解する上ではハードルが高い気がします。
    というわけで、ここではゼロから作ることをテーマにして、まとめていこうかなと思います。

    (さらに…)

  • WordPressをCMSとして使うような場合だと、記事を任意の順番で並べ替えたい場合とかが希にあったりするわけで。
    query_postsにパラメータを渡すことで実現できます。

    (さらに…)

  • WordPressをCMSとして使うとき、カテゴリが複数セットされていたり、未選択の場合などが考えられます。
    意外にあれに苦しむことがあるので、functions.phpで対応しようと思います。

    (さらに…)

  • WordPressで会員サイトを作るときにプロフィール画面で任意の画像をアップロードして、設定できるプラグインです。

    (さらに…)