WordPress maaguu (^^; com 北海道札幌でホームページ制作を楽しむ

WordPress, WordPress MU(μ) についての話題、プラグイン作成、カスタマイズ。

カテゴリー「tips」の記事

Eメールアドレスを数値文字参照に変換する関数[Permanent Link]

formatting.phpをぼーっと眺めていたら、なにやらantispambot関数なんてものがあったので、使ってみるテスト。詳しくは以下。

(WordPress Codexって、MediaWikiなのね。)

こんな関数があるのなら、bloginfo(’admin_email’)のメールアドレスを数値文字参照に変換するのは無駄でした。

数値文字参照に変換するのも大した意味がないように思いますが(そもそもinfo@ドメインってメールアドレスは収集するまでもないでしょうね)、つか、スパムメール全然来ないんですが……。

<link rev="made" href="<?=antispambot('mailto:' . get_bloginfo('admin_email'));?>" />
<a href="mailto:<?=antispambot('mailto:' . get_bloginfo('admin_email'));?>"><?=antispambot(get_bloginfo('admin_email'));?></a>

こんな感じでOK。

ポイントを現金でキャッシュバック

WordPress MU 2.7にアップグレードする[Permanent Link]

出たばかりのWPMU 2.7に、以下手順にて2.6.5からアップグレードを試してみました。

WordPress MU 2.7のダウンロードはこちらから。

  1. phpMyAdminにてMySQLをバックアップ。
  2. SFTPにてサイト全体をバックアップ。
  3. SFTPにて上書き

    管理画面にアクセスすると以下のエラーが出たので、指示されたとおりにwp-config.phpを変更。

    Warning! WordPress encrypts user cookies, but you must add the following lines to /*****/*****/*****/*****/wp-config.php for it to be more secure.
    Please add the code before the line, /* That's all, stop editing! Happy blogging. */

    define( 'NONCE_KEY', '*****' );
    define( 'AUTH_SALT', '*****' );

以上で問題ないようです。上書きするだけ。

Advanced Tag Entryプラグインを入れていましたが、デフォルトでタグのスラッグを設定できるようですので、アンインストールしました。

何かしらエラーが出る場合は、上書きに失敗しているかも。

管理画面のレイアウトですが、解像度1024*768では一番上のナビゲーションの右が落ちて、その下のナビゲーションに重なってしまいます。ここら辺はCSS修正で行けると思います。wp-includes/wordpress-admin-bar/themes/にたくさんCSSがあって、全部修正するのは面倒なので、gray.cssのみfont-sizeを12pxから10pxに変更しました。

#wpabar {
    font: 10px "Lucida Grande","Lucida Sans Unicode",Tahoma,Verdana !important;
}

#wpabar a,.blogmeta {
    font: 10px "Lucida Grande","Lucida Sans Unicode",Tahoma,Verdana !important;
}
ポイントを現金でキャッシュバック

WordPress MUで全てのブログを統合したサイトマップを作る #1[Permanent Link]

全ブログを含んだサイトマップ(全記事一覧)を作ろうと思います。基本はホームに表示している各ブログの新着記事と同様で、単純に表示件数を限定していないだけです。

新着記事表示は以下をご覧ください。

指針
ページの投稿欄に直接コーディングする
PHPコードはエスケープされますので、プラグインを使おうと思います。
タブによるインターフェイスにする
ページが縦に長大になってしまいそうなので、タブで表現しようと思います。

まずは、投稿欄に直接コーディングするため、runPHPプラグインを入れます。page.phpに直接コードを記述するのが手っ取り早いのですが、後に他にページを使うかもしれませんのでこのようにしてみました。

と、runPHPをインストールしてみましたが使えません。ではExec-PHPをと思い、インストールしましたが、これも上手く動きません(動くらしいのですが……)。

なので、プラグインを使えるようにするのはあっさりと諦め、他の方法で行くことにしました。

「ページ」は他にも使うことを想定すると(例えばプロフィールページとか)、page.phpには、サイトマップページが表示される場合に、サイトマップ表示用のコードが呼び出されるようにする必要があります。

今回は、ページのIDがサイトマップページのIDのときにコードが実行されるようにしてみます。

ページのIDは以下の記述で取得することができますので、まずはページを作成し、page.phpに以下のコードを記述して表示させてみます。

<?php echo $post->ID; ?>

95と表示されたとしますと、サイトマップのページIDは95です。

Conditional Tags « WordPress Codexによると、is_page()を使うとページの判別ができるらしいので、サイトマップ表示用のコードを以下で囲んでみます。

if (is_page('95')) :
[...]
endif;

以下コード全文です(簡略化しています)。

<?php
if (is_page('95')) :

    for ($i = 0; $i < get_blog_count() - 1; $i++) :

        $blog_list = get_last_updated();
        $blog_list = $blog_list[$i]['blog_id'];

        if ($blog_list != 1) :

            $out_blogname = get_blog_option($blog_list, 'blogname');
            $output_blogs = '<h3><a href="' .
                get_blog_option($blog_list, 'siteurl') . '">' .
                $out_blogname .
                '</a></h3>';
            echo $output_blogs;

            $wpdb->set_blog_id($blog_list);
            query_posts("showposts=10000&post_status=publish");
?>

<ul>

<?php if (have_posts()) : while(have_posts()) : the_post();?>

    <li><a href="<?=$post->guid;?>"><?=$post->post_title;?></a></li>

<?php endwhile; endif; wp_reset_query(); endif;?>

</ul>

<?php
    endfor;

endif;
?>

タブ化はまだ今度。

あ、と、今気づいたのですが、サイトマップなのに、ブログエントリーだけでページとかアーカイブが入ってなかったです(^^ゞ

ポイントを現金でキャッシュバック
Email to maaguu:info@mx.maaguu.com Powered by WordPress MU Clicky Web Analytics