WordPressのウィジェット関連

構築・開発WordPress

ウィジェットエリアを定義する

if ( function_exists('register_sidebar') ){
    register_sidebar(array(
        'name' => 'ウィジェットの名称',
        'id' => 'mainvisual',
        'description' => "ウィジェットの説明",
        'before_widget' => '',
        'after_widget'  => '',
        'before_title'  => '',
        'after_title'   => '' 
    ));
}

関数リファレンス/register sidebar – WordPress Codex 日本語版

 

初期からあるデフォルトのウィジェット項目を削除する

function unregister_widgets(){
    unregister_widget('WP_Widget_Pages');//固定ページ
    unregister_widget('WP_Widget_Links');//リンク集
    unregister_widget('WP_Widget_Search');//サイト内検索フォーム
    unregister_widget('WP_Widget_Archives');//月別アーカイブ
    unregister_widget('WP_Widget_Meta');//メタ情報(login/outなど)
    unregister_widget('WP_Widget_Calendar');//カレンダー
    unregister_widget('WP_Widget_Text');//任意のテキストとHTML
    unregister_widget('WP_Widget_Categories');//カテゴリーリスト
    unregister_widget('WP_Widget_Recent_Posts');//最近の投稿
    unregister_widget('WP_Widget_Recent_Comments');//最近のコメント
    unregister_widget('WP_Widget_RSS');//RSSフィード
    unregister_widget('WP_Widget_Tag_Cloud');//タグクラウド
    unregister_widget('WP_Nav_Menu_Widget');//ナビゲーションメニュー
    unregister_widget('WP_User_Avatar_Profile_Widget');//アバター
}
add_action('widgets_init', 'unregister_widgets', 100);

Function Reference/unregister widget « WordPress Codex

 

ウィジェットのタイトル部分を取り除く

add_filter( 'widget_title', 'remove_widget_title' );
function remove_widget_title( $widget_title ) {
    return;
}

 

ウィジェットの内容を取得する

ウィジェットに画像を表示できるプラグイン「Image Widget」を導入して、画像のパスだけを取得したい時。

function get_dynamic_sidebar( $name ) {
    $contents = "";
    ob_start();
    dynamic_sidebar( $name );
    $contents = ob_get_clean();
    return $contents;
}

$mainvisual_widget = get_dynamic_sidebar('メインビジュアル');
$mainvisual = '';
if($mainvisual_widget){
    preg_match('/<img.*src\s*=\s*[\"|\'](.*?)[\"|\'].*>/i', $mainvisual_widget, $mainvisual);
    echo $mainvisual[1];
}

コメント

スポンサーリンク
タイトルとURLをコピーしました