サイドバーウィジェット h2タグ から div に変更したい。
-
WordPress 初心者です。
サイドバーウィジェットが、 h2タグなってしまい、SEO内部対策上不要なため、divに変更したいのですが、フォーラムを見たりググったりしましたがやり方がわかりません。
どなたかご教示お願い致します。
-
まったくの勘なのでヒントとして捕らえてください。
register_sidebarでどうにかできませんか。
あるいはお使いのテーマにあるfunction.php内で書き換えができないでしょうか。
これはデフォルトの「twentytenテーマ」にある関数の一部です。
この例ではh3に書き換えられています。デフォルトはh2になっているのが上で示したリンク先を見るとわかります。function twentyten_widgets_init() { // Area 1, located at the top of the sidebar. register_sidebar( array( 'name' => __( 'Primary Widget Area', 'twentyten' ), 'id' => 'primary-widget-area', 'description' => __( 'The primary widget area', 'twentyten' ), 'before_widget' => '<li id="%1$s" class="widget-container %2$s">', 'after_widget' => '</li>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) );......
めんどくさければコア(/wp-includes/widgets.php)にある、477行目の
function register_sidebars($number = 1, $args = array()) { global $wp_registered_sidebars; $number = (int) $number; if ( is_string($args) ) parse_str($args, $args); for ( $i = 1; $i <= $number; $i++ ) { $_args = $args; if ( $number > 1 ) $_args['name'] = isset($args['name']) ? sprintf($args['name'], $i) : sprintf(__('Sidebar %d'), $i); else $_args['name'] = isset($args['name']) ? $args['name'] : __('Sidebar'); // Custom specified ID's are suffixed if they exist already. // Automatically generated sidebar names need to be suffixed regardless starting at -0 if ( isset($args['id']) ) { $_args['id'] = $args['id']; $n = 2; // Start at -2 for conflicting custom ID's while ( isset($wp_registered_sidebars[$_args['id']]) ) $_args['id'] = $args['id'] . '-' . $n++; } else { $n = count($wp_registered_sidebars); do { $_args['id'] = 'sidebar-' . ++$n; } while ( isset($wp_registered_sidebars[$_args['id']]) ); } register_sidebar($_args); } }
をdivに書き換えてしまうというのも手かもしれませんが、functionで書き換えられるようになっているので、それを使うのが第一でしょう。
この関数をfunction.phpに貼ってしまって、divに書き換える、っていうのでもいけた気がしますが、荒ワザでしょうか。他の皆さんはどう思われますか?他の皆さんはどう思われますか?
とのことなので援護射撃を。
mogueさんのおっしゃるとおり、お使いのテーマのfunctions.phpで変更するのがよいと思います。sato_ruさんがTwentyTenをお使いなら上述の通りでOKでしょうし、
他のテーマをお使いの場合でも該当する部分を書き換えればいいはずです。
(自作テーマや、functions.phpがないテーマということもあり得ますのでケースバイケースですが)>sato_ruさん
と、いうことでまずはお使いのテーマが何なのか開示してください。mogueさん、mypacecreatorさん、どうもありがとうございます。
テーマは、「ホームページビルダー17」
*「JustSystems Homepage Builder Version 17.0.3.0 for Windows」によって作成されました。とテーマの管理のところに記載されています。function.php の register_sidebar を下に表記しましたが、該当すH2タグが書かれていません。
また、コア(/wp-includes/widgets.php)とのことですが、
/wp-includes/
の配下に
widgets.php
が存在しません。「widgets」と名の付くものは
default-widgets.php
のみとなります。よろしくお願い申し上げます。
register_sidebar(); add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size( 550, 400, true ); register_post_type( 'news', array( 'label' => 'ニュース', 'hierarchical' => false, 'public' => true, 'has_archive' => true, 'supports' => array( 'title', 'editor', 'thumbnail', 'comments' ), 'menu_position' => 5, 'menu_icon' => get_bloginfo('template_url') . '/post-types/menu_news.png' ) ); register_taxonomy( 'newscat', 'news', array( 'label' => 'ニュースのカテゴリー', 'hierarchical' => true, ) ); function manage_news_columns( $columns ) { $columns['fcategory'] = "カテゴリー"; return $columns; } function add_news_column( $column_name, $post_id ){ if ( 'fcategory' == $column_name ) { $fcategory = get_the_term_list( $post_id, 'newscat' ); if ( $fcategory ) { echo $fcategory; } else { echo __('None'); } } } add_filter( 'manage_edit-news_columns', 'manage_news_columns' ); add_action( 'manage_news_posts_custom_column', 'add_news_column', 10, 2 ); add_action('admin_head', 'plugin_header_news'); function plugin_header_news() { global $post_type; ?> <style> <?php if (($_GET['post_type'] == 'news') || ($post_type == 'news')) : ?> #icon-edit { background: url('<?php echo get_bloginfo('template_url') . '/post-types/icon_news.png';?>') no-repeat transparent; background-size:auto !important; } <?php endif; ?> </style> <?php } if ( ! isset( $content_width ) ) $content_width = 648;
それだったら、挙げてもらったコードの1行目
register_sidebar();
が該当しますね。2行目以降は関係ないです。
詳しくは、
関数リファレンス/register sidebar – WordPress Codex 日本語版
を参照していただくとわかりますが、
register_sidebar();
の()内に、必要な設定を追記すればOKです。
※括弧内が空、ということはすべてWordPress側が定めた初期設定値を適用している、という意味です。Codexを読むとregister_sidebarのパラメータ一覧は
name – サイドバー名
id – サイドバー id
description – サイドバーの説明 (2.9以降)
before_widget – ウィジェットの前のテキスト
after_widget – ウィジェットの後のテキスト
before_title – タイトルの前のテキスト
after_title – タイトルの後のテキストとなっています。
今回は、ウィジェットのタイトルにあたる見出し部分のマークアップ変更なので、
before_title – タイトルの前のテキスト
after_title – タイトルの後のテキスト
だけを変更すればOKです。register_sidebar( array( 'before_title' => '<div>', 'after_title' => '</div>' ) );
こんな感じですね。
変な全角スペースやコンマ、括弧の閉じミス等にご注意を。mypacecreatorさん、どうもありがとうございました!
OKでした。うまくいきました!
本当にありがとうございました。
本件は、SEO内部対策を中心したSEO対策会社のエンジニアから、アルゴリズム解析からH3タグは1ページに4つ以下が最適という指示を頂戴したためでした。
- トピック「サイドバーウィジェット h2タグ から div に変更したい。」には新たに返信することはできません。