ColorFullWeb

カラーがフルな情報配信ブログ。Web関係多め。

[¢]STINGER3のfunctions.php解説【wordpress】

time 2013/10/17

stinger22
STINGER3のfunctinons.phpの内容です。
こんにちは。ColorFullWebです。
今回も自分用のメモ要素強めです。
内容が分からなくても
パラパラ見て把握しておくことで役に立つかと思います。

functinons.php解説箇所

全部を解説するととんでもない行数になるので今回は割愛させていただきます。
パッと見なにやってんのかわからない部分のみ解説入れました。
関連リンクなどは色々あると思いますので本記事には貼りませんでした。
以下ソースコードの上から順に解説です。

投稿スラッグの取得補助


//WordPress の投稿スラッグを自動的に生成する
function auto_post_slug( $slug, $post_ID, $post_status, $post_type ) {
    if ( preg_match( '/(%[0-9a-f]{2})+/', $slug ) ) {
        $slug = utf8_uri_encode( $post_type ) . '-' . $post_ID;
    }
    return $slug;
}
add_filter( 'wp_unique_post_slug', 'auto_post_slug', 10, 4  );

スラッグの上書き処理。
確かスラッグのクイック編集時のスラッグ取得だと思う希ガス。

STINGER内使用ページャー


//ページャー機能
function pagination($pages = '', $range = 4)
{
//省略(ページャ処理)
}

ページャー機能の処理

  <?php if (function_exists("pagination")) {
pagination($wp_query->max_num_pages);
} ?>

home.php内など、上記コードで出力している。

moreリンク関連



//moreリンク
function custom_content_more_link( $output ) {
    $output = preg_replace('/#more-[\d]+/i', '', $output );
    return $output;
}
add_filter( 'the_content_more_link', 'custom_content_more_link' );


more-linkのリンクURL出力を調整している部分
http://■URL■/#more…の「#more」移行を除去ー。

セルフピンバックの禁止


//セルフピンバック禁止
function no_self_ping( &$links ) {
    $home = home_url();
    foreach ( $links as $l => $link )
        if ( 0 === strpos( $link, $home ) )
            unset($links[$l]);
}
add_action( 'pre_ping', 'no_self_ping' );

セルフピンバックのみ強制的に停止させている処理。
隠れた優しさ。

コンテンツ幅の基本指定

if ( ! isset( $content_width ) ) $content_width = 546;

コンテンツの横幅指定。
メディアサイズやYOUTUBEなどの埋め込み系に影響する場合がある。

最終更新日表示機能



//更新日の追加
function get_mtime($format) {
    $mtime = get_the_modified_time('Ymd');
    $ptime = get_the_time('Ymd');
    if ($ptime > $mtime) {
        return get_the_time($format);
    } elseif ($ptime === $mtime) {
        return null;
    } else {
        return get_the_modified_time($format);
    }
}



「最終更新日」部分の処理。
固定ページと投稿記事ページで使用している。

抜粋文調整



//ショートコードを外す
function stinger_noshotcode( $content ) {
    if ( ! preg_match( '/\[.+?\]/', $content, $matches ) ) {
        return $content;
    }

    $content = str_replace( $matches[0], '', $content );

    return $content;
}


抜粋部分のショートコードを外す処理。
トップページで使用。

その他の記述に関しては

wordpressの関数をそのまま使っていたりするので
上記コードよりは比較的使い方は分かりやすいと思ってます。
以上、ググってもちょっと分かりずらい部分まとめでした。

facebookはコチラ。(;´Д`)ノコウシンデキテナイケドw

down

コメントする