• IE9で表示に問題があり、対策をご報告します

    Codexにて、以下のようなバグの指摘がありました。
    menu bug in ie9

    **バグの概要
    IE9でRaindropsテーマを表示させたときに、メニューバーにマウスを近づけると、横並びになっていたメニューが、縦に並んでしまうというものです。
    このバグは、標準モードで再現します。互換モードで表示した場合には、メニューがサイドバーに隠れたりします。
    **暫定対策
    標準モードで正常に表示するための暫定対策についてお知らせいたします。
    対策にならない場合、教えていただけるとうれしいです

    [php]
    1300行付近で
    #access li:hover > a,
    #access ul ul:hover > a {
    }
    という指定を見つけてください
    以下のように、color:red; を追加します。
    #access li:hover > a,
    #access ul ul:hover > a {
    color:red;
    }
    [/php]

    ご迷惑をおかけします。


  • Raindrops 0.916 審査を通過しました

    本日、Raindrops 0.916が審査を通過しました。

    今回は、大分大きな変更があります。

    -ヘッダー画像フッター画像のアップロード機能追加
    –ワードプレスのヘッダーは従来どおり使うことができます。
    -自動は移植機能を引き継いで、自分の好みに応じたスタイルシートの細かい指定ができるようになりました。
    –配色タイプ、Raindropsを表示しますと現在の背景のスタイルが記述されたテキストエリアが出現します。この配色タイプを選ぶとこれまでの配色を引き継いで、自分自身で指定ができます。

    ページのデザインを一から、作ることはスキルのいることで、抽象的なイメージを具体的なページの形にまとめ上げるのは、htmlやCSSを知っているだけでは困難です。
    ただ、いろいろな配色や形態の中から、自分自身のイメージに近いものを選択することは、誰でもできます。
    完全に自分のイメージには近づけることは自動化だけでは困難で、最終的な手をご自身で入れていただける機能を盛り込みました。

    しばらくすると、自動インストールができるようになりますので、お楽しみに 🙂


  • Raindrops の htmlソースが醜悪な理由

    このレインドロップステーマは、色、背景、枠線、グラデーション等のスタイルが、すべてヘッダーに埋め込まれています。

    この事で、htmlソースは、見られたもんじゃありません。

    その理由と、ユーザーの方のカスタマイズについて考えていこうと思います。

    なぜ、ヘッダーに埋め込まれているのか?

    このテーマは、ワードプレス本体からインクルードをしないように作っているから、そうなってしまうのです。

    自分でテーマをカスタマイズする人は、WordPress以外のphpで、

    <?php
    /*
     * 外部ファイルで、ワードプレス関数を使う
     */
    	require_once( dirname(__FILE__) . '/wp-load.php' );
     ?>

    などとすれば、WordPress 関数を自由に呼び出したりすることができますが、

    公式テーマは、セキュリティを下げる可能性があるために、requireなどのPHP関数を使った呼び出しが禁止されています

    しかし、配布を目的にしないで、利用するという場面では、このようなカスタマイズは、ごく一般的に行われていることでしょう。

    マルチサイトでなければ、index.phpと同じ階層に

    <?php
    	error_reporting(0);
    	require_once( dirname(__FILE__) . '/wp-load.php' );
    		
    	if(function_exists('get_option')){
    		header('Content-type: text/css');
    		$raindrops_options      = get_option("raindrops_theme_settings");
    		echo $raindrops_options['_raindrops_indv_css'];
    	}
    ?>

    とすることで、外部スタイルを作成できます。
    マルチサイトの場合は、テーマファイルの階層で、

    e.g lib/design.php

    <?php
    include_once("../../../../wp-load.php"); 
    
    header('Content-type: text/css');
    		$raindrops_options      = get_option("raindrops_theme_settings");
    		echo $raindrops_options['_raindrops_indv_css'];
    ?>

    このような形で、スタイルシートの表示ができることを確認できたら、仕上げです。

    functions.phpを開き raindrops_embed_meta関数を探します。

    /**
     * insert into embed style ,javascript script and embed tags from custom field
     *
     *
     *
     *
     */
        function raindrops_embed_meta($content){
            $result = "";;
            global $post;
    $raindrops_gallerys = '.gallery { margin: auto; overflow: hidden; width: 100%; }
    .gallery dl { margin: 0px; }
    .gallery .gallery-item { float: left; margin-top: 10px; text-align: center; }
    .gallery img { border: 2px solid #cfcfcf;max-width:100%; }
    .gallery .gallery-caption { margin-left: 0; }
    .gallery br { clear: both }
    .gallery-columns-2 dl{ width: 50% }
    .gallery-columns-3 dl{ width: 33.3% }
    .gallery-columns-4 dl{ width: 25% }
    .gallery-columns-5 dl{ width: 20% }
    .gallery-columns-6 dl{ width: 16.6% }
    .gallery-columns-7 dl{ width: 14.28% }
    .gallery-columns-8 dl{ width: 12.5% }
    .gallery-columns-9 dl{ width: 11.1% }';
            $css                = $raindrops_gallerys;
    
            //$raindrops_options  = get_option("raindrops_theme_settings");
            //$css                .= $raindrops_options['_raindrops_indv_css'];
            $css .= raindrops_warehouse('_raindrops_indv_css');
            $background = get_background_image();
            $color = get_background_color();
    
            if(!empty($background) or !empty($color)){
                $css = preg_replace("|body[^{]*{[^}]+}|";,"";,$css);
            }
    
            if(empty($css)){
                $css = "cannot get style value check me";
            }
    
            $css    = str_replace(array("\n","\r&quot;,&quot;\t",'&amp;"','--'),array("","","";,'""',''),$css);
            if (is_single() || is_page()) {
                if(have_posts()){
    
                 while (have_posts()) : the_post();
                    if(RAINDROPS_USE_AUTO_COLOR !== true){
                        $css = '';
                    }
                    $css    .= get_post_meta($post->ID, 'css', true);
    
                    if (!empty($css)) {
                    $result .= '<style type="text/css">';
                    $result .= "\n/*<![CDATA[*/\n";
                    $result .=  $css;
                    $result .= "\n/*]]&gt;*/\n";
                    $result .= "&lt;/style&gt;";
                    }
                    $javascript = get_post_meta($post->ID, 'javascript', true);
                    if (!empty($javascript)) {
                    $result .= '<script type="text/javascript">';
                    $result .= "\n/*>![CDATA[*/\n";
                    $result .= $javascript;
                    $result .= "\n/*]]&gt;*/\n";
                    $result .= "&lt;/script&gt;";
                    }
                    $meta = get_post_meta($post->ID, 'meta', true);
                    if (!empty($meta)) {
                    $result .= $meta;
                    }
                  endwhile;
                }
            }else{
                    if(RAINDROPS_USE_AUTO_COLOR == true){
                        $result .= '<style type="text/css">';
                        $result .= "\n/*&lt;![CDATA[*/\n";;
                        $result .=  $css;
                        $result .= "\n/*]]&gt;*/\n";
                        $result .= "</style>";;
                    }
            }
            echo $result;
            return $content;
        }

    以下の行をコメントアウトすれば、ヘッダーに埋め込まれなくなります

    $css .= raindrops_warehouse('_raindrops_indv_css');

    ので、後は、
    </head>の直前に
    スタイルシートを呼び出せば終了です。

    <link rel="stylesheet" href="外部ファイル化したスタイルのuri" media="all" />

    Aside

    raindrops_embed_meta関数のお仕事
    この関数の、もともとの仕事は、シングルページで、cssという名前のカスタムフィールドを作れば、スタイルをヘッダーに自動的に埋め込んだり、metaという名前のカスタムフィールドに、metaタグブロックを埋め込んだり、javascriptという名前のカスタムフィールドで、スクリプトの埋め込みを行うためのものです。

    これらの結果は、wp_head()が実行されるタイミングで埋め込まれるので、</head>の直前にlink エレメントを埋め込むというのは、本来の目的から行くと、ちょっとというところがあります。
    実際問題公式テーマという観点では、wp_head()は</head>の直前になければならないというルールがあります。
    その場合は、wp_enqueque_style()関数を使ってみてください。


  • Raindrops 0.910

    現在、0.910を審査に出しています。

    今日明日中には、WordPress3.2が公開される予定みたいで、審査のほうは、落ち着くまでかなり時間がかかるのかな、と思っています。

    申請中のバージョンのレインドロップスの、予告を少しさせていただきます。

    * 💡 その1

    自動配色機能を引き継いで、管理画面のテキストエリアから、直接スタイルをマニュアル編集できる機能をつけました。

    どんな配色をしていても、そのデザインから、あなた自身が背景、色、ボーダー、グラデーションなどをコントロールできるようになります。

    行間15:


    * 💡 その2

    アップローダをつけました。
    ヘッダー画像フッター画像をアップロードするためのアップローダがつきました。
    高さの指定や、横方向の画像リピート、ポジションの指定ができますから、実用的ですよ


    * 💡 その3

    オールリセットボタンをつけました。
    どんなにカスタマイズしていても、インストール時の設定に戻すことができます。

    お楽しみに

    待ちきれない人は、Gitからダウンロードできます 🙂


  • 0.906審査に合格できません。0.909審査に出しました

    レビューアーより、問題を指摘され、
    ポイントは、

    どうして、君のテーマは、リセットデフォルトボタンがナインや、とか、ヘッダ画像とか、フッター画像とか、いちいちFTPして、このフィールドに値セットしなアカンノカイ的な、激励でした。

    ので、画像アップローダ、オールリセットボタンを追加いたしました


  • 0.906を申請しました

    今回大きな変更がありました。申請が認められば、レインドロップスの使い勝手はとてもよくなると思います。

    今回のアップデートの目玉
    レインドロップスは、色を一色選び、黒系 白系 WEB標準 ミニマルなど、カラータイプを選ぶ事で膨大な配色数のなかから、気に入った配色を選んでいただくというものですが、

    このようにして、そこそこ気に入った配色とレイアウトをつかんだ上で、管理画面のカラータイプから、Raindropsを選択して、ボタンを押していただくと、テキストエリアが出現し、現在表示している配色を編集できるモードを追加しました。

    細部の色などを細かく自由にチューニングできるようになりました。

    お楽しみに


  • Raindrops is not Black @ Raindrops School

    pen>(皆さんありがとうございます。)
    おかげさまで、たくさんの人たちがレインドロップスを試してくれているようです。

    レインドロップステーマを利用したブログをたくさん拝見する事が出来るのはとても、うれしい事です。

    ただ、多くの人はレインドロップスというテーマが黒配色のテーマだと思っているようです

    最新版のレインドロップスを使って、カスタマイズブログを作ってみました

    *その1

    nivo slider raindrops

    jQueryを使った画像スライダーに、Nivo Sliderというものがあります。

    とてもよく出来ていて、設置が簡単なのでこのスライダーを組み込んだカスタマイズブログを作ってみました。

    ワードプレスのチャイルドテーマという仕組みを使い、header.php footer.php ,
    functions.php, style.css この4種のファイルを少しだけNivo Sliderからコピペしただけのものです。

    配色は、レインドロップスの標準の配色機能を使っているので、レイアウトでカスタマイズしたのは、functions.phpに  $page_width = ‘610’; に変更したぐらいで、配色は、ダーク配色を使っています
    [0.912 より $page_width 変数名は $raindrops_page_width に変更しました]
    レインドロップスを使うと、カスタマイズが簡単です。

    注 page_widthに値を指定するとbody直下のdivにid=”custom-doc”が設定されます。
    この、id用のスタイルは、スタイルタグでヘッダに埋め込まれます。
    ただし、背景色は、自動で設定されませんから、手動で指定する必要があります。
    指定しない場合は、一見floatboxが親boxから飛び出しているように見えます。
    overflow:hidden等では解消しないので、留意ください。

    *その2

    ネスティンググリッド

    さらに、テンプレート、投稿内双方で、ネスティンググリッドを可能にしたサンプルです。

    投稿をhtmlタグで区切る事で、分割する方法は、https://www.tenman.info/wp3/raindrops/2011/06/10/create-cmplex-layout-raindrops-school/(title)のチュートリアルが参考になります。

    レインドロップスは、標準で
    ページ幅の変更、レイアウトパターン、自動配色機能、配色の傾向(ダーク、ライト、W3スタンダード、ミニマル等)を管理画面から設定でき、大体のところをプログラムで自動的に作ったうえで、人間様が、感性で完成させていくという、風変わりなテーマファイルです。

    いつも、創作意欲が途中で、燃え尽きるあなたへ


  • Create Auto Gradient Box @ Raindrops School

    レインドロップスでは、背景色 前景色を自動配色するグラデーションボックスクラスが自動設定されます。
    複雑なスタイルシートを記述することなくベースカラーに基づいたグラデーションボックスをお手軽に作成できます。

     example

    *準備
    準備は特にありません、どのクラスを指定すれば、どんなグラデーションになるのかを、知っておく必要があると思いますので、確認の方法を覚えてください。

    新規投稿の画面を表示したら画面右上にある「ヘルプ」をクリックしてください。

    class color5 とか gradient5といった数字の書いたボックスが表示されていると思います。
    これらのクラスを、記述する事でグラデーションボックスが出来ます。
    例えば、このエントリーの上部のグラデーションボックスは、以下のようなコードになっています。

    [php]
    <div class="gradient3" style="padding:1em">
    レインドロップスでは、背景色 前景色を自動配色するグラデーションボックスクラスが自動設定されます。
    複雑なスタイルシートを記述することなくベースカラーに基づいたグラデーションボックスをお手軽に作成できます。
    </div>
    [/php]

    classにgradient3と記述する事でグラデーションを表示します。
    インラインスタイルの、style=”padding:1em;”は、グラデーションの利用場面によって必要ないことも、他の値が必要になる事もあるため、スタイルには含めていません。

    *現在未解決の問題

    グラデーションボックス内のリンクの色が、グラデーションの中に溶け込んでしまう事があります。

    今後の、バージョンでうまく動作するように調整したいと思いますが、原稿バージョンでは、リンクカラーを指定していただく必要があります。

    一つ一つにスタイルを当てるのは大変なので、投稿単位でスタイルを当てる機能を紹介しておきます。

    **投稿単位でスタイルを割り当てる手順

    カスタムフィールドの名前を半角英数で css とします
    値に、例えば
    [css]
    .gradient3 a{ color:red;}
    [/css]
    等としていただければ、グラデーションボックス内のリンクは赤になります。

    :!:ただ、この方法も、リスト表示した場合には、リンクが見えなくなる事になるので、style.cssで指定いただくのが、現時点では一番いいと思います。

    この問題は、今後のバージョンで解決したいと思いますが、しばらくの間 我慢していただけますよう切にお願いします

    リンクの問題は、次回アップデートで解決出来る見通しがつきましたのでお知らせします。

    :!:場合によっては、インラインのstyleアトリビュートがかけないという人もいるかと思います。この問題は、テーマファイルの問題というよりも、ワードプレスそのものの設定になりますので、そのあたりについては、機会を改めて説明させていただきたいと思います。