WordPress3.9.1へアップグレードしてみた

wp3.9.1

3.9へのアップグレードを忘れてて、気づいたら3.9.1がでていた(笑
早いよWordpress!

3.9.1では34個のバグが修正されているようです。

で、とくに問題なくアップグレードが完了。
管理画面は3.8とほぼ同じ。

変わったのはメディア編集部分でしょうか。

続きを読む WordPress3.9.1へアップグレードしてみた

フィールド内容の有無で条件分岐(AdvancedCustomFields)

AdvancedCustomFieldsというプラグインを使用し、タクソノミーのアーカイブページで値があるかないかで条件分岐しようしたらハマッたのでメモ。

get_field(‘フィールド名’ ,$post_id)で条件分岐

カスタムタクソノミー(ターム)で、作成したフィールドタイプに記入がある場合は表示させ、記入がない場合は別の内容を表示する。

※動作確認はタクソノミーテンプレート(taxonomy.php)のみ

<?php
$term_id = get_queried_object()->term_id;
$post_id = 'タクソノミー名_'.$term_id;
?>
<!--条件分岐ココから-->
<?php if( get_field('フィールド名' ,$post_id)): ?>
<?php the_field('フィールド名' ,$post_id); ?>
<?php else: ?>
<p>フィールドに内容がない場合はこちらを表示</p>
<?php endif; ?>
<!--条件分岐ココまで-->

ちなみに、get_fieldは以下の記述では動作しませんでした。

×get_field('フィールド名')
×get_field('フィールド名',$post->ID)

はじめ$post_idを、$post->IDとしていたため表示されずかなりハマりました…(笑
the_fieldも同様に「$post_id」で動作。

リンクなしtag(タグ名)を表示

WordPressのタグを表示するときの一般的なテンプレートタグ(タグ+リンクで表示)

<?php the_tags('前', '区切り文字', '後'); ?>

でも、リンクは出力せずタグ名だけ表示させたい場合もある。
そんな時は以下を使用。

get_the_tagsでタグ名だけ出力

<?php
$posttags = get_the_tags();
if ($posttags) {
foreach($posttags as $tag) {
echo $tag->name . ' ';
}
}
?>

テンプレートタグ/get the tags – WordPress Codex 日本語版

見た目をちょっと変えてみる

タグスラッグをclass(もしくはid)に割り当ててデザインを変える。

<?php
$posttags = get_the_tags();
if ($posttags) {
foreach($posttags as $tag) {
echo '<span class="' .$tag->slug . '">' . $tag->name . ' </span>';
}
}
?>

三菱UFJを装う詐欺メールが毎日ウザいです

もう2011年あたりから話題になってて今皿ですが(笑
三菱東京UFJ銀行を騙る詐欺メール!昨年から毎日のように送られてくるので醸しておきます。

三菱東京UFJ銀行のサイトでも注意勧告!
インターネットバンキングのパスワード等を騙し取る不審な電子メールにご注意ください(平成26年2月28日更新)。

↓こんなのがほぼ毎日、1日に4~5通来たことも。
spam1

最初にメールが来たときは「エッ」と驚きました。

だって私、UFJ銀行に口座もってないんですもの。

ログインしたくてもできません。笑

よく見てみると・・・ちょっと笑えます。

  • 「貴様のアカウントの利用中止を避けるために、検証する必要があります。」
    キ、貴様…!?
    利用中止を避けるため検証・・・?意味がわかりません。
  • 送信元がヤフーのフリーメール。
    大企業がフリーメールって・・・この手抜き加減(笑
  • 宛先のメルアドが私のものではない。
    これは誰宛なんでしょうか?

まぁホントに最初の頃は、今と違って変なカタカナや英字、中国語らしき文体が混じっていたのでスパムだと気付き無視していましたが。日を増すごとにキレイな日本語になってゆきました。

続きを読む 三菱UFJを装う詐欺メールが毎日ウザいです

WPテーマのスタイルシート、ディレクトリ等のURL取得

WordPressの推奨タグが微妙に変わっていたのに・・・(とくにサイト情報まわり)全然気付いていなかったのでメモ。

ホームURL

  • bloginfo( ‘url’ )↓
  • echo home_url() [推奨]

フィードURL

  • bloginfo(‘feed_url’)↓
  • get_feed_link( ‘feed’ ) [推奨]

テーマディレクトリのURL

  • bloginfo( ‘template_directory’ )↓
  • bloginfo( ‘template_url’ )↓
  • get_template_directory_uri() [推奨]

テーマ・スタイルシートディレクトリのURL

  • bloginfo( ‘stylesheet_directory’ )↓
  • get_stylesheet_directory_uri() [推奨]

テーマ・スタイルシートのURL

  • bloginfo( ‘stylesheet_url’ )
  • get_stylesheet_uri() [推奨]

■URIを出力する場合

<?php echo get_stylesheet_directory_uri(); ?>

関数リファレンス/get stylesheet directory uri – WordPress Codex 日本語版

WPライブプレビューでトップ以外が表示されなかった件

WordPressはインストール(アップロード)したテーマを有効化せずとも、「ライブプレビュー」で確認することができます。

いつもの通り、新しいオリジナルテーマを確認しようと、「外観」→「テーマ」→「ライブプレビュー」で確認、ここまでは普通にトップページが表示されるんですが、投稿ページやカテゴリページなど別ページを確認しようとするとなぜか現在のテーマ(有効化されてるテーマ)が表示される。

しかし、WPデフォルトテーマ「twentyeleven」などをライブプレビューで確認すると、下層ページもちゃんとtwentyelevenのテーマで表示される。

!?

自作したテーマに問題があることはわかったけど、バージョンアップしてなんか仕様変わった?functions.phpか????

と、あれこれ悩むこと数時間・・・

footer.phpに

<?php wp_footer(); ?>

を入れ忘れていたことが原因だった。

(´;ω;`)・・・

wp_head()は</head>直前に、wp_footer()は</body>直前にいれることを忘れないように!

PHPでテンプレートをインクルードさせる

今では当たり前になってきた、サイト更新を簡単にしてくれるCMS(コンテンツマネジメントシステム)。でもコンテンツが少ない小規模サイトや、一度作ったら頻繁に更新しないサイトなどの場合、データベースを必要とするCMSの導入は逆にデメリットが大きい気がします。

小規模サイトでOK

CMS化に向いていないWEBサイト

  • 一度作ったらコンテンツの更新は殆ない
  • コンテンツ、ページ数が少ない
  • 新しいコンテンツの追加は常に外注する
  • 予算もないため小規模サイトでいい

それなら、従来の静的なHTMLだけで作ればいいだけじゃん。という話ですが、ヘッダーやサイドバーなんかは読み込むテンプレート形式にしたい・・・。

従来のHTMLオンリーなサイトは、コンテンツを追加すると、大体において全ページのリンク修正が発生します。CMSに慣れてしまうと“なんて無駄な作業なんだ”と感じてしまう(笑。

かといって、フレームやJSでやる方法はSEO的にちょっと避けたいところ。

PHPでファイルを読み込みテンプレート化

そんなときは、やっぱりPHPがかなり便利!
PHPインクルード
PHPが動くサーバーなら、PHPで任意のテンプレートファイルを読み込ませることができます。HTML、PHPはもちろんテキストファイルも読み込める。

<?php include("ファイル名"); ?>

読み込みの重複を絶対させない場合

<?php include_once("ファイル名"); ?>

include_once文で外部ファイルを一度だけ読み込む

続きを読む PHPでテンプレートをインクルードさせる

IE8以下にHTML5×レスポンシブウェブを対応させるJS

今更ながら、HTML5&レスポンシブウェブをIE8、IE7、IE6に対応させるための基礎中の基礎まとめ。

HTML5・CSS3はIE8以下では通常認識できない

  • IE8以下はHTML5に対応しない。タグを認識できない。
  • レスポンシブウェブに欠かせないMedia Queriesが効かない。CSS3だからあたりまえ。

Media Queriesは、デバイスの解像度(画面サイズ)によってCSSを切り替える方法なので、レスポンシブウェブデザインにするサイトは必要不可欠。逆にレスポンシブ対応でなければ気にしなくていい。 続きを読む IE8以下にHTML5×レスポンシブウェブを対応させるJS