Archive for the ‘関数’ Category

wp_head()(ヘッダー)の不要な項目を削除する方法


2010
08.09

wp_head()の中身ってゴリゴリのカスタマイズで消さなきゃって思っていたら、
functions.phpで消す方法があったんですね・・・これはすごい便利です。

wp_head()は自動的に色々な記述が入ってきます。
例えば↓のようなものです。

<link rel=”EditURI” type=”application/rsd+xml” title=”RSD” href=”” />
<link rel=”wlwmanifest” type=”application/wlwmanifest+xml” href=”” />
<link rel=’index’ title=” href=” />
<link rel=’start’ title=” />
<meta name=”generator” content=”WordPress 3.0.1″ />
<link rel=’shortlink’ href=” />

これって必要?って思う事ありますよね。特にgeneratorとか・・・(WordPressごめん!)

WordPress3.0からさらに増えたという噂があります。これを消すには…

remove_action('wp_head', 'wp_enqueue_scripts', 1);
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
remove_action('wp_head', 'feed_links_extra',3,0);
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'parent_post_rel_link');
remove_action('wp_head', 'start_post_rel_link');
remove_action('wp_head', 'rel_canonical');

このように記述すると消す事ができます。

試しにwp_generatorとindex_rel_linkを消してみた・・・おっ!消えてますね。
wp_head()から消したいものがある方はご利用下さい。

このエントリーを含むはてなブックマークはてなブックマーク - wp_head()(ヘッダー)の不要な項目を削除する方法 この記事をクリップ!Livedoorクリップ - wp_head()(ヘッダー)の不要な項目を削除する方法 Yahoo!ブックマークに登録 BuzzurlにブックマークBuzzurlにブックマーク @niftyクリップに追加 このエントリをつぶやくこのWebページのtweets Share on Tumblr FC2ブックマークへ追加 newsing it! この記事をChoix! Googleブックマークに追加 Bookmark this on Delicious Digg This FriendFeedで共有

ベーシック(BASIC)認証を使った場合の予約投稿など不具合の修正


2010
03.15

WordPressを使う上で、ベーシック認証下では下記のようなエラーがあるらしい。

  • Flashアップローダー動作不能
  • XML-RPCからの画像アップロード失敗
  • 予約投稿に失敗

これを直す手段は「.htaccess」を次のように修正すると良い。

# Exclude the file upload and WP CRON scripts from authentication

Satisfy Any
Order allow,deny
Allow from all
Deny from none

成功していればこれで解決するはずです。

ベーシック認証環境下でWordPressの予約投稿の失敗、Flashアップローダー動作不能、XML-RPCか らの画像アップロード失敗をまとめて解決する方法

このエントリーを含むはてなブックマークはてなブックマーク - ベーシック(BASIC)認証を使った場合の予約投稿など不具合の修正 この記事をクリップ!Livedoorクリップ - ベーシック(BASIC)認証を使った場合の予約投稿など不具合の修正 Yahoo!ブックマークに登録 BuzzurlにブックマークBuzzurlにブックマーク @niftyクリップに追加 このエントリをつぶやくこのWebページのtweets Share on Tumblr FC2ブックマークへ追加 newsing it! この記事をChoix! Googleブックマークに追加 Bookmark this on Delicious Digg This FriendFeedで共有

トップページがどうか調べる is_home()


2010
02.12

デザインテンプレートをカスタマイズしている時に

「トップページの時だけFLASHを出したい!」

と思って条件分岐の方法を調べた所、is_home() という関数を見つけました。

使い方は非常に簡単。

<?php if ( is_home() ) { ?>

この中にFLASHのソースを書きます。

<?php } ?>

調べてみるとis_home()以外にも色々とある事が判明!

  • is_404() – 404ページか調べる
  • is_archive() – アーカイブページか調べる
  • is_category() – カテゴリーアーカイブページか調べる
  • is_date() – 日付アーカイブページか調べる
  • is_day() – 日別アーカイブページか調べる
  • is_month() – 月別アーカイブページか調べる
  • is_page() – ページか調べる
  • is_paged() – 分割された2ページ目以降か調べる
  • is_search() – 検索結果ページか調べる
  • is_single() – 投稿か調べる
  • is_singuler() – 投稿またはページか調べる
  • is_tag() – タグアーカイブページか調べる
  • is_year() – 年別アーカイブページか調べる

結構色々と判別できます。便利なので使ってみては!

このエントリーを含むはてなブックマークはてなブックマーク - トップページがどうか調べる is_home() この記事をクリップ!Livedoorクリップ - トップページがどうか調べる is_home() Yahoo!ブックマークに登録 BuzzurlにブックマークBuzzurlにブックマーク @niftyクリップに追加 このエントリをつぶやくこのWebページのtweets Share on Tumblr FC2ブックマークへ追加 newsing it! この記事をChoix! Googleブックマークに追加 Bookmark this on Delicious Digg This FriendFeedで共有

query_postsを使って記事をランダムに並び替える


2010
02.09

あるサイトを制作していた時に、登録した記事をランダムに取得したいという要望がありました。
※パートナー会社を登録しておいて、クレームにならないよう順不同に表示。という感じで。

たぶん何か方法があるだろうと思っていましたが、思ったよりも簡単に実現できました。

query_posts()にorderby=randという引数を与えるとランダムに記事を取得できます。
WordPress ver2.5からの機能のようですね。

■サンプルソース

<?php query_posts(”cat=1&showposts=10&orderby=rand”); ?>

このエントリーを含むはてなブックマークはてなブックマーク - query_postsを使って記事をランダムに並び替える この記事をクリップ!Livedoorクリップ - query_postsを使って記事をランダムに並び替える Yahoo!ブックマークに登録 BuzzurlにブックマークBuzzurlにブックマーク @niftyクリップに追加 このエントリをつぶやくこのWebページのtweets Share on Tumblr FC2ブックマークへ追加 newsing it! この記事をChoix! Googleブックマークに追加 Bookmark this on Delicious Digg This FriendFeedで共有

いつの間に!?WordPress2.9でテンプレート階層追加されてます。


2010
02.03

WordPress2.9系からテンプレート階層が追加されているようです。

WordPressのテーマについて、ある程度知っている前提で話してしまうのですが、
テンプレート階層というのは、下記のようなページ毎のテンプレートの優先事項です。

全ページの基本テンプレート:index.php
トップページ:home.phpがあればこちらを優先、無ければindex.phpを適用
カテゴリ:category.phpがあればこちらを優先、無ければindex.phpを適用

私も最初はよくわかっていませんでしたが、一度理解すると便利で面白いですね。

今回2.9系で追加になったのは以下のテンプレート階層

  • category-スラッグ名.php ? カテゴリーのスラッグが “new” の場合は category-new.php
  • page-スラッグ名.php ? ページのスラッグが “index” の場合は page-index.php
  • page-ID名.php ? 例えば固定ページのIDが6の場合は page-6.php

今までページについては、自動で適用される事がなかったのでページ作成時に個別にテンプレートを選んでいました。これにはテンプレートの中でテンプレート名を指定しておくなどひと手間加えてあげないといけなかったので、使い方によっては楽になっています。

このエントリーを含むはてなブックマークはてなブックマーク - いつの間に!?WordPress2.9でテンプレート階層追加されてます。 この記事をクリップ!Livedoorクリップ - いつの間に!?WordPress2.9でテンプレート階層追加されてます。 Yahoo!ブックマークに登録 BuzzurlにブックマークBuzzurlにブックマーク @niftyクリップに追加 このエントリをつぶやくこのWebページのtweets Share on Tumblr FC2ブックマークへ追加 newsing it! この記事をChoix! Googleブックマークに追加 Bookmark this on Delicious Digg This FriendFeedで共有

query_postsを使って記事や検索結果を更新順に並び替えたい時


2010
01.18

query_postsを使ってデータを再取得。その際に引数に下記を設定します。

order を desc

orderby に modified

例)

$paged = get_query_var(‘paged’);
$cat=get_query_var(‘cat’);
query_posts(‘posts_per_page=10&order=desc&orderby=modified&cat=’.$cat.’&paged=’.$paged); ?>

参考情報

カテゴリーから指定する

指定したカテゴリーに属する投稿を表示。

cat
カテゴリーIDを指定。
複数指定するならカンマで区切る
除外したい場合はカテゴリーIDの前にマイナスを付けると指定できる。
category_name
カテゴリー名を指定(日本語も可)。
category__and
カテゴリーIDの配列。指定した複数のカテゴリーすべてに含まれる投稿のみを取得。
category__in
カテゴリーIDの配列。指定した複数のカテゴリーいずれかに含まれる投稿のみを取得。
category__not_in
カテゴリーIDの配列。指定したカテゴリーのいずれにもに含まれない投稿のみを取得。

配列関連はあんま使わないのでスルー。

タグ引数

指定したタグが付けられた投稿を表示。

tag
タグスラッグを指定。
or指定するならカンマで区切る
and指定するならプラスでつなげる
tag__and
タグIDの配列。指定した複数のタグすべてを含む投稿のみを取得。
tag__in
タグIDの配列。指定したタグのいずれかを含む投稿のみを取得。
tag_slug__and
タグスラッグの配列。指定した複数のタグすべてを含む投稿のみを取得。
tag_slug__in
タグスラッグの配列。指定したタグのいずれかを含む投稿のみを取得。

配列関連はあんま使わないのでスルー。

投稿者引数

投稿者を指定することで表示する投稿を制限。

author
投稿を表示させたい投稿者のIDを指定。
マイナスを付ければ、そのIDの投稿を除外
author_name
投稿を表示させたい投稿者のニックネーム(user_nicenameに入ってるもの)を指定(日本語も可)。

投稿・固定ページ引数

p
投稿IDで指定。
name
投稿スラッグで指定。
page_id
固定ページIDで指定。
pagename
固定ページスラッグで指定。
posts_per_page
1ページに出力する投稿数。-1の場合すべての投稿を出力。
showposts
出力する投稿の数
post__in
取得する投稿IDを配列で指定。
post__not_in
除外する投稿IDを配列で指定。
post_type
投稿のデフォルトは「post」。
その他に、「any」、「attachment」、「page」、「revision」が使用可能。
「any」を指定すると、リビジョン以外の形式のものを取得できる。
post_status
「publish」を指定すると公開済みのものを取得。
以下同様に、「pending」→レビュー待ち、「draft」→下書き、「future」→予約投稿、「private」→非公開、「trash」→ご み箱(ver. 2.9以降)に分類されたものを取得できる。その他に、「inherit」→継承(添付ファイル、改訂履歴・自動保存のとき)がある(←よくわからん)。
post_parent
指定したIDのページの子ページを取得。

配列関連はあんま使わないのでスルー。

日時引数

時間範囲を指定する際に使用するパラメーター。普通に使う可能性があるのは年月日くらいかな。

hour
時間(0?23を指定可能)
minute
分(0?60を指定可能)
second
秒(0?60を指定可能)
day
日(1?31を指定可能)
monthnum
月(1から12を指定可能)
year
年(2009のように4桁での年指定)
w
週番号(0?53まで指定可能)

ページ引数

paged
インデックスやアーカイブページが複数わたる場合、何ページ目を表示するかを指定。
order
取得したページの並び順。デフォルト値は「DESC」。ASCが小→大、DESCが大→小

オフセット引数

offset
取得投稿の先頭からスキップする投稿数を指定。

並び替え引数

取得した投稿をどの項目について並べるかを指定する。

orderby=author
投稿者で並べる
orderby=date
日付で並べる
orderby=category
カテゴリーで並べる(廃止予定?)
orderby=title
タイトルで並べる
orderby=modified
変更順に並べる
orderby=menu_order
メニュー順に並べる
orderby=parent
親順に並べる
orderby=ID
ID順に並べる
orderby=rand
ランダムに並べる
orderby=meta_value
meta valueの値で並べる。比較するためのmeta keyの値をクエリーの中に入れること
orderby=none
並び変えない(ver. 2.8以降)
orderby=comment_count
コメント数順で並べる(ver. 2.9以降)

カスタムフィールド引数

カスタムフィールドのキー、値に基づいて投稿・ページを検索する。

meta_key=
カスタムフィールドの名前
meta_value=
カスタムフィールドの値
meta_compare=
例: query_posts(‘meta_key=miles&meta_compare=<=&meta_value=22′);
上のように指定すると、比較対照は「miles」というメタキーの値。かつ、その値が22よりも小さい投稿を取得する。
比較演算子のデフォルトは「=」だが、他にも「!=」、「>」、「>=」、「<」、「<=」が使用可能。
このエントリーを含むはてなブックマークはてなブックマーク - query_postsを使って記事や検索結果を更新順に並び替えたい時 この記事をクリップ!Livedoorクリップ - query_postsを使って記事や検索結果を更新順に並び替えたい時 Yahoo!ブックマークに登録 BuzzurlにブックマークBuzzurlにブックマーク @niftyクリップに追加 このエントリをつぶやくこのWebページのtweets Share on Tumblr FC2ブックマークへ追加 newsing it! この記事をChoix! Googleブックマークに追加 Bookmark this on Delicious Digg This FriendFeedで共有

カスタムフィールドを使って特定の項目を表示する方法


2010
01.16

カスタムフィールドを使って、特定の項目を記入、表示する方法をご紹介します。

例)各記事の記入者と記入日を投稿画面に表示、テンプレートに出力する。

http://wordpressgogo.com/development/custom-field-template.html

上記からダウンロードし、管理画面にてインストール⇒有効化します。

管理メニューの設定にある、カスタムフィールドテンプレートにて、テンプレートを登録する事が出来ます。

下記に表示してあるカスタムテンプレートの設定です。HTMLの感覚で色々出来そうです。

例)

  1. [記入者]
    type = text
    size = 10
    label =
    output=true
  2. [記入日]
    type = text
    size = 10
    maxlength=10
    label =
    style=ime-mode: disabled;
    output=true

<?= get_post_meta($id, “記入者”, true); ?>で入力値を表示出来るので、single.phpなどに記述すると、投稿記事の中に表示する事が出来ます。

このエントリーを含むはてなブックマークはてなブックマーク - カスタムフィールドを使って特定の項目を表示する方法 この記事をクリップ!Livedoorクリップ - カスタムフィールドを使って特定の項目を表示する方法 Yahoo!ブックマークに登録 BuzzurlにブックマークBuzzurlにブックマーク @niftyクリップに追加 このエントリをつぶやくこのWebページのtweets Share on Tumblr FC2ブックマークへ追加 newsing it! この記事をChoix! Googleブックマークに追加 Bookmark this on Delicious Digg This FriendFeedで共有
Get Adobe Flash playerPlugin by wpburn.com wordpress themes