ページの一番上の親ページのIDを取得するぉ!

ねばっちょ!
はい、今回も始まりました、納豆で WordPress を構築しよう! のコーナ。

今回のお題は、『ページの一番上の親ページのIDを取得するぉ!』の一本でお送りいたします。

WordPress のバージョンも 3.2になって、いつの間にかに有ったのって事で、
使ってみました。

一気に行くよ。
[php]
function grandpa_id() {
global $post;
$value = array_pop ( $post->ancestors );
if ( $value == 0 ) {
$value = $post->ID;
}
return $value;
}
[/php]

多分これで取得できると思います。
Good Natto! (Good luck!)

ではまた。

今日のおみくじは大吉

メディアアップロードのサイズの所にカスタム画像サイズを追加してみるぉ

ねばっちょ!
今回もやって見ました Natto Colors の WordPress って発酵食品!? のコーナー

今回のお題は、『メディアアップロードのサイズの所にカスタム画像サイズを追加してみるぉ』の一本でお送りいたします。

WordPress のバージョンも 3.2になっとっと言う事で、利用者の数もさらに増えてくるということで、
最近ふと思ったのでやってみました。

こちらのサイトを参考にさせて頂きました。
アップロード画像のリサイズ指定を改造

カスタム画像を追加したけど、選択に出てこないなぁ。。。

ということでデフォルトの画面はこんな感じ

変更後はこんな感じ

赤線で囲まれた部分が変わっています。

出すよ

[php]
add_filter(‘attachment_fields_to_edit’, ‘custom_size_image_attachment_fields_to_edit’, 20, 2);
function custom_size_image_attachment_fields_to_edit($form_fields, $post) {
global $_wp_additional_image_sizes;
if ( substr($post->post_mime_type, 0, 5) == ‘image’ ) {
$get_image_sizes = get_intermediate_image_sizes();
foreach ( $get_image_sizes as $s ) {
if ( $s != ‘thumbnail’ && $s != ‘medium’ && $s != ‘large’ && $s != ‘post-thumbnail’ ) {
$downsize = image_downsize($post->ID, $s);
$form_fields['image-size']['html'] .= “<div class=’image-size-item’><input type=’radio’ name=’attachments[$post->ID][image-size]‘ id=’image-size-{$s}-$post->ID’ value=’{$s}’ /><label for=’image-size-{$s}-$post->ID’>{$s}</label>”;
$form_fields['image-size']['html'] .= ” <label for=’{$css_id}’ class=’help’>” . sprintf( “(%d&nbsp;&times;&nbsp;%d)”, $downsize[1], $downsize[2] ). “</label>”;
$form_fields['image-size']['html'] .= ” </div>”;
}
}
} else {
unset( $form_fields['image_alt'] );
}
return $form_fields;
}
[/php]
これでカスタム画像サイズを追加した場合、サイズの選択の所に表示されるかと思います。

今日のおみくじの結果:大吉

追記
イメージ以外の物をアップした際に項目が出ていたので修正しました。

カスタムフィールドテンプレートを使ってみよう!

ねばっちょ!
今日もやってまいりました Natto Colors 今回は結構な割合で使わせて頂いております、
Custom Field Template (カスタムフィールドテンプレート)』に着目です。

つい最近話題になったのでちょいちょい調べてみました。

管理画面の下の方に行くと以下の画像なようなものがあると思います。

オプションリストの下に
オプションをエクスポートする、オプションをインポートする、オプションをリセットする、オプションを削除するがあります。

オプションを削除する

オプションを削除するをプリッと開くとボタンが出てきますが、
これを押してしまうと設定が全て削除されてしまいます。
これを押すときは、うあぁぁぁ!となった時のみにしましょう。

オプションをリセットする

オプションをリセットするをプリッと開くとボタンが出てきます。

これをプリッと押すと、プラグインを一番最初にインストールした時の設定値 に戻ります。
このボタンをナメていると痛い目に合います。
痛い目に合わないために以下に続く。

オプションをエクスポートする

オプションをエクスポートするをプリッと開くとボタンが出てきます。

これをプリッと押すと、現在の設定をファイルにしてダウンロードされます。
とりあえず設定したら、このボタンをプリッとしましょう。

オプションをインポートする

オプションをインポートするをプリッと開くとボタンが出てきます。

これをプリッとしバックアップしたファイルをファーしましょう。
これであの設定は帰ってきます。

ではまた。
今日のおみくじは小吉

 

『パラメータでカスタマイズしやすいWordPressのページナビを作ってみた』を試してみたよ

ねばっちょ!
地味に続いています Natto Colors 今回もパロディ元からの記事をチョイスしました よ。

今回のSC試したよは、『パラメータでカスタマイズしやすいWordPressのページナビを作ってみた』です。
今回はソースをコピーする際に、Chrome を 使わずに Firefox を使ったので、はまることは無かったです。

さて、今回以下の5点でお送り致します。

  1. 真偽値(論理値)が効かない
  2. 一番最初のページで prev_label (前へ)を消してみる
  3. 一番最後のページで next_label (次へ)を消してみる
  4. 一番最初のページで first_label (最初)を消してみる
  5. 一番最後のページで last_label (最後)を消してみる

真偽値(論理値)が効かないorz

よくわからないですが、TRUE, FALSE が文字列になるようで
効かなかったので、1,0 で対応しました。


[php]

[/php]

パラメータ指定サンプルでは、show_num が1になっているので、
1,0 でいいぽいですね。

以下 Codex ぽい様に

items
(整数) 表示する前後ナビゲーションの数。現状表示しているページを含むため、前後の表示数を揃えたい場合は奇数を指定してください。
デフォルトは1
show_adjacent
(論理値)前後ページへのリンクを表示するかどうか。デフォルトはtrue(表示) 

  • 1 (true) – 初期値
  • 0 (false)
prev_label
(文字列)前ページリンクのリンクテキスト。デフォルトは、&lt;(<)
next_label
(文字列)次ページリンクのリンクテキスト。デフォルトは、&gt;(>)
show_boundary
(論理値)最初と最後のページへのリンクを表示するかどうか。デフォルトはtrue(表示) 

  • 1 (true) – 初期値
  • 0 (false)
first_label
(文字列)最初のページへのリンクテキスト。デフォルトは&laquo;(«)
last_label
(文字列)最後のページへのリンクテキスト。デフォルトは&raquo;(»)
show_num
現ページナンバーと全ページ数の表示をするかどうか。デフォルトはfalse(非表示) 

  • 1 (true)
  • 0 (false) – 初期値
num_position
(文字列)現ページナンバーと全ページ数の表示位置。デフォルトはbefore(前)。後に表示したい場合はafterを指定 

  • before(前)- 初期値
  • after(後)
num_format
(文字列)現ページナンバーと全ページ数の表示フォーマット。デフォルトは、<span>%d/%d</span>(nn/mm)
navi_element
(文字列)ページナビのラッパー要素。divかnavを指定可能。デフォルトは空(ラッパー要素なし)
elm_class
(文字列)ラッパー要素、ラッパー要素がない場合は ulのclass属性。デフォルトはpage_navi
elm_id
(文字列)ラッパー要素、ラッパー要素がない場合は ulのid属性。デフォルトは空(id要素なし)
li_class
(文字列)ページナビの全liに付くclass属性。デフォルトは空(classなし)
current_class
(文字列)現ページのliに指定されるクラス名。デフォルトは current
current_format
(文字列)現ページの表示フォーマット。デフォルトは <span>%d</span>
class_prefix
(文字列)classの接頭辞。ページナビで出力されるclass全てに追加される。デフォルトは空。(接頭辞なし)
indent
(整数)タブインデント数。デフォルトは0
echo
ページナビの出力を行うかどうか。デフォルトは true(出力する)。false または 0 を指定するとPHPの値として returnする 

  • 1 (true) – 初期値
  • 0 (false)

引用元パラメータでカスタマイズしやすいWordPressのページナビを作ってみた

一番最初のページでprev_label(前へ)を消してみる

はいこれは、以下のように書き換えました。

[php]
if ( $args['show_adjacent'] ) {
if ( get_query_var('paged') > 1 ) {
$previous_num = max( 1, $current_page_num - 1 );
$page_navi .= "t" . $elm_tabs . $tabs . '

  • ' . esc_html( $args['prev_label'] ) . '
  • ' . "n";
    }
    }
    [/php]

    一番最後のページで next_label (次へ)を消してみる

    はいこれは、以下のように書き換えました。

    [php]
    if ( $args['show_adjacent'] ) {
    if ( get_query_var('paged') != $max_page_num && $max_page_num > 1 ) {
    $next_num = min( $max_page_num, $current_page_num + 1 );
    $page_navi .= "t" . $elm_tabs . $tabs . '

  • ' . esc_html( $args['next_label'] ) . '
  • ' . "n";
    }
    }
    [/php]

    一番最初のページで first_label (最初)を消してみる

    はいこれは、以下のように書き換えました。

    [php]
    if ( $args['show_boundary'] ) {
    if ( get_query_var('paged') > 1 ) {
    $page_navi .= "t" . $elm_tabs . $tabs . '

  • ' . esc_html( $args['first_label'] ) . '
  • ' . "n";
    }
    }
    [/php]

    一番最後のページで last_label (最後)を消してみる

    はいこれは、以下のように書き換えました。

    [php]
    if ( $args['show_boundary'] ) {
    if ( get_query_var('paged') != $max_page_num && $max_page_num > 1 ) {
    $page_navi .= "t" . $elm_tabs . $tabs . '

  • ' . esc_html( $args['last_label'] ) . '
  • ' . "n";
    }
    }
    [/php]

    これで多分大丈夫です。
    一応あとで本人に聞いてみます 2011/06/29 21:07
    今日のGoogle 日本語入力のおみくじの結果:大吉

    2011/06/30 19:22 一番最後のページで next_label (次へ)を消してみる と 一番最後のページで last_label (最後)を消してみる で修正を加えました。
    カテゴリー一覧で1ページしかない場合に、不具合がありました。
    @understandard さんありがとうございます。

    Simple Colors の『簡単にリンクページを作れる WordPress のショートコード』 に対抗してみるぉ

    WordPress には、アーカイブ機能がありますが、この機能を利用して簡単に投稿に最新の一覧を出せたら便利ですよね。もちろんプラグインなどで、つくることも可能ですが、今回はショートコードを使って、簡単に作る方法を紹介します。

    ショートコードは、投稿欄に[natto]のような囲み記述を行うことで、記事内に動的な処理を組むことが可能になる機能です。
    WordPress がデフォルトで実装しているのは、記事で登録された画像を表示することができるようになる gallery というショートコードのみですが、 functions.php やプラグインなどから自由に追加することもできるようになっています。
    追加方法などの詳しい説明は、CODEX のショートコードAPI で確認してください。

    はてさて、前置きが長くなってきましたが(パロディー元がそうだったので…) 投稿一覧を出力するショートコードは、これっ!
    なんのことはない、単に WordPress 関数の get_posts を使っているだけであります。(期待外れ)

    CODE 1

    [php]
    add_shortcode('nattopost', 'nattopost_shortcode');
    function nattopost_shortcode( $args ) {
    extract( shortcode_atts( array(
    'numberposts' => 5,
    'category' => 0,
    'orderby' => 'date',
    'order' => 'DESC',
    'meta_key' => '',
    'meta_value' => '',
    ), $atts ) );
    if ( $meta_key && $meta_value ) {
    $args = array(
    'numberposts' => $numberposts,
    'category' => $category,
    'orderby' => $orderby,
    'order' => $order,
    'meta_key' => $meta_key,
    'meta_value' => $meta_value,
    );
    } else {
    $args = array(
    'numberposts' => $numberposts,
    'category' => $category,
    'orderby' => $orderby,
    'order' => $order,
    );
    }
    $get_natto_posts = get_posts( $args );
    if ( $get_natto_posts ) {
    $output = '

      ' . "n";
      foreach( $get_natto_posts as $post ) {
      setup_postdata( $post );
      $output .= '
    • ' . "n";
      $output .= '' . get_the_date() . '' . "n";
      $output .= '' . get_the_title() . '';
      $output .= '
    • ' . "n";
      }
      $output .= '

    ' . "n";
    return $output;
    }
    }
    [/php]

    CODE 2
    [html]
    [nattopost]
    [/html]

    表示のカスタマイズを行いたい場合は、get_post の numberposts, category, orderby, order, mera_key, meta_value のパラメータが利用できます。

    CODE 3
    [html]
    [nattopost numberposts="10" category="1"]
    [/html]

    どうでしょうか。 固定ページでも使えます。

    『WordPressのカレンダーに土日祝日のclassが追加されるようにしてみたよ』を試してみたよ

    ども!
    初投稿ですが、『WordPressのカレンダーに土日祝日のclassが追加されるようにしてみたよ』
    でちょっとハマってしまいました。。。

    なんと、ソースコードのコピペで。。。

    コピペしただけではスペースが意地悪して、サイトが表示されなくなったので、
    ちまちま、スペースを消して、スペースし直しました >_<

    Chrome (Operaも) だとコピペがうまくいかないかもしれません、
    コピペがうまくいかなった場合は、
    Chrome (Operaも) 以外の Firefox や Safari や IE7 以上でやった方がいいですね。

    でも、無事にカレンダーの色が変わりましたよ0^o^0
    @jim0912 さんありがとうございました。