忍者ブログ
24 November

投稿ページにphpを入れたい。ショートコード・post snipetts の使い方

functions.phpに書く方法

function thumb250x250_shortcode() {
  return the_post_thumbnail(array(250,250));
}
add_shortcode("thumb250x250", "thumb250x250_shortcode");


プラグイン post snipetts を使う方法

「ショートコード」と「php」にチェックをいれる
スニペット欄に the_post_thumbnail(array(250,250));
と書く

投稿ページに書き込むとき
[thumb250x250]

テーマphpに直接書き込むとき
<?php echo do_shortcode('[thumb250x250]'); ?>



どちらの方法も、※<?php~~~?> の部分の構文は省いて書く
これわかんないで省略せずに書いたらエラー文が現れたり、ソース内で<?php~~~が
コメントアウトに勝手にされてたりして意味がわかんなかった
誰もこのことについて注意書きとかないんですけど・・・
だって普通に考えたらショートコード内に入れたもの全てが出力されるんだと思って
省略して書くなんて思わないでしょ!!
PR
24 November

固定ページに子ページ一覧を出力したい サムネイル付き

http://labrid.jp/wp/shortcord-childpages/
固定ページの子ページ一覧を表示するショートコード

http://labrid.jp/wp/childpages-thumb/
固定ページの子ページ一覧(サムネイル付き)を表示するショートコード

上のサイトからコピペして使おう。ありがとうございます。
[ **** ] ショートコードのカッコが全角になっているため、半角で書こう

$outhtml .= get_the_post_thumbnail($page->ID, 'thumbnail');

↑の部分のシングルクォーテーションが片方抜けてたので付け足そう
19 November

HTMLエディタにタグを追加する プラグインなし

http://rikumalog.com/wordpress/addquicktag-qui.html

/*---------------------------------------------------------*/
//
// HTMLエディタにオリジナルボタンを追加 add quick tag
//
/*---------------------------------------------------------*/
function add_my_quicktag() {
?>
<script type="text/javascript">
//QTags.addButton('ID', 'ボタンのラベル', '開始タグ', '終了タグ');
QTags.addButton('ed_clear:both', 'clear:both', '<p style="clear:both;">', '</p>');
QTags.addButton('ed_br', 'br', '<br>', '');
QTags.addButton('ed_kuugyou', '空行', '<p>&nbsp;</p>','');
</script>
<?php
}
 
add_action('admin_print_footer_scripts',  'add_my_quicktag');



Add quick tag というタグ等自由に追加できるプラグインがありますが、
前からチラホラ不具合とかを聞いていたので入れたくありませんでした。
でも回り込み解除と改行をHTMLエディタのほうが入れるのが面倒で面倒でしかたありません。

ちょうど見つけたので私も使用させていただきました。
たったこんだけで同じものが出来るならわざわざプラグイン入れる必要性もありませんね。
15 November

プラグインを使わずページネーション・ページャーを設置

http://kowappa.com/25

<div class="pager">
    <?php global $wp_rewrite;
    $paginate_base = get_pagenum_link(1);
    if(strpos($paginate_base, '?') || ! $wp_rewrite->using_permalinks()){
        $paginate_format = '';
        $paginate_base = add_query_arg('paged','%#%');
    }
    else{
        $paginate_format = (substr($paginate_base,-1,1) == '/' ? '' : '/') .
        user_trailingslashit('page/%#%/','paged');;
        $paginate_base .= '%_%';
    }
    echo paginate_links(array(
        'base' => $paginate_base,
        'format' => $paginate_format,
        'total' => $wp_query->max_num_pages,
        'mid_size' => 1, //ページャーの表示する数
        'current' => ($paged ? $paged : 1),
        'prev_text' => '<',
        'next_text' => '>',
    )); ?>
</div>


/* pager */
.pager{
    text-align:center;
    margin-top:50px;
    margin-bottom:50px;
    }
a.page-numbers,
.pager .current{
    background:rgba(0,0,0,0.02);
    border:solid 1px rgba(0,0,0,0.1);
    border-radius:5px;
    padding:5px 8px;
    margin:0 2px;
}
.pager .current{
    background:rgba(0,0,0,1);
    border:solid 1px rgba(0,0,0,1);
    color:rgba(255,255,255,1);
}

.pagenav .prev a, .pagenav .next a{
    width:50%;
    display:block;
    color:#ddd;
    }
.pagenav a{
    float:left;
}
.pagenav .next a{
    text-align:right;
}





14 November

searchform.php search.php を設置する

searchform.php


ウィジェットの検索欄・検索フォームタグを置くと、コアファイルのphpから出力されます。
searchform.phpを作ってアップロードすると、検索フォームの読み取りは
こちらが優先されます。
最初に「検索:」みたいなラベルがデフォでついてて、みんな消したいと思うと思います。
フックで消したりdisplay:none;で消したり、わかりにくいしめんどくさい。
searchform.phpを置いてそこでパッとどうなってるかわかるようにしたほうが
早くてわかりやすい。

search.php


検索結果の使用テンプレ優先順位
search.php → index.php

index.phpってカスタム色々してると結局使われない。
カスタムしないなら全部index.phpでいい勢い。

有名どころのをみて、index.php の中で is search で条件分岐させて表示させていたんだが、
ふと検索結果が0件だったときどうなんだろ、と思ってやってみたら content としている
部分が何も表示がなくなった。
条件分岐の記述を探して色々入力してたけど表示されず。
たぶんやり方はあるんだろうけど、かたくなにindex.phpにこだわってないので
さっさと切り替えて search.php を作ることにした。
いや、もうわけたほうがわかりやすいよね!使いたくないなら削除すればいいだけだし。

http://www.webcreator-net.com/tips_memo/wordpress/20120311223048.html#searchresult

ループ前に検索結果数と検索結果0のときの条件分岐を記述するらしい。
やったけど検索結果0で上記の文章がでてこない。
404.phpの「おさがしの記事が見つかりませんでした」って出てて、もしやって思った。
404.php設置、index.phpコピペったのでsearch.phpに
<?php if (!have_posts()) {
header("HTTP/1.1 404 Not Found");
include (TEMPLATEPATH . '/404.php');
return; } ?>
の記述があり、検索結果0のときは404.phpが読み込まれていた。

まぁこれでもかまわないんだろうけど、検索結果0件専用の「見つかりませんでした」
を表示したかったので、404読み込みコードを削除したら無事目的の文章が表示された