Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Trying to access array offset on int in /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242

Warning: Cannot modify header information - headers already sent by (output started at /home/igial/presentnote.com/public_html/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php:242) in /home/igial/presentnote.com/public_html/wp-includes/feed-rss2.php on line 8
カスタマイズ – PresentNote https://presentnote.com Just another WordPress site Thu, 09 May 2019 02:05:30 +0000 ja hourly 1 https://wordpress.org/?v=6.3.8 https://presentnote.com/wp-content/uploads/2019/05/favicon-pn.ico カスタマイズ – PresentNote https://presentnote.com 32 32 WordPressの新テーマTwenty Fifteenのデザインや設定・カスタマイズ方法 https://presentnote.com/twenty-fifteen-customize-setup-design/ https://presentnote.com/twenty-fifteen-customize-setup-design/#comments Wed, 24 Dec 2014 06:55:19 +0000 http://presentnote.com/?p=3828 WordPress を 4.1 にバージョンアップしたら、新しいテーマが追加されていましたね。Twenty Fifteen がついに登場しました。
Twenty Fifteen はかなりシンプルに、ブログとしての役割を追求したテーマになっているようです。またスマホやタブレットでも非常に見やすくなっています。
このテーマで特に面白いと感じたのは、ヘッダーとサイドバーが一緒になっている点ですね。いわゆるグローバルナビゲーションはサイドバーに、ヘッダーに画像をアップしてもサイドバーに表示されます。フッターもクレジットのみなので、ちょっと物足りなくかじるかもしれません。
本当にブログとしてコンテンツを見るために必要なことだけをとことん追求した感じで、読みやすくなっています。ですが、まだ当分は浸透しなさそうなデザインな気がします。好きなデザインではあるんですが、今のところ Twenty Thirteen が一番ユーザビリティが良いかなと思いますし、ビジネス的にマネタイズしやすいレイアウトだと思います。でも使ってみようかとも思っています……。
さて、前置きはここまでにして、Twenty Fifteen の機能についてもまとめてみたいと思います。

Twenty Fifteen のデザイン

Twenty Fifteen
wordpress.org

2 カラムのレイアウトとなっていて、コンテンツとサイドバーのみです。レスポンシブデザインになっているので、タブレット、スマートフォンだとレイアウトが変わります。

ヘッダーとサイドバーが融合し、スクロール固定を採用

ヘッダーと視認できる部分はなく、サイドバーがヘッダーになっています。header.php の中にサイドバーが含まれるつくりです。このサイドバー部分に、コンテンツ以外のものは全て表示させる構造になっています。サイトタイトル、ナビゲーションメニュー、ウィジェットが全てここにきます。
サイドバーは一番下までスクロールすると固定されます。

スペースいっぱいの大きなアイキャッチ

Twenty Fifteen のアイキャッチ
Twenty Fifteen には大きなアイキャッチ(サムネイル)が表示されます。推奨サイズは 幅 825px に高さ 510px です。このサイズの画像をアイキャッチとして用意すれば、Twenty Fifteen のレイアウトにきれいに表示されます。
これまでアイキャッチの画像に 1208px × 540px の画像を使っていたんですが、このサイズの画像だとスペースいっぱいに表示されませんでした。
また、新たに 1208px × 540px のアイキャッチをアップロードしたら、コンテンツのスペースをはみ出して表示されてしまいました。縮小されずにそのままのサイズで表示されているようです。
色々なサイズで試してみましたが、以下のようになりました。

825 × 825 左右はちょうど、上下が切れる
825 × 250 上下左右ともにちょうど表示される
690 × 510 上下はちょうど、左右が足りない
1250 × 510 上下はちょうど、左右が切れる
1648 × 1020(推奨サイズの 2 倍) 上下左右ともにちょうど
412 × 255(推奨サイズの半分) そのままのサイズで表示

新規にアップロードした画像に関しては、推奨サイズにしておいた方がよさそうです。既にアップロード済みの画像がうまくはまらないので、なんとか最適化されるようにしたいものです。

主なパーツの幅やサイズ

メインコンテンツ width:660px
サイドバー width:248px
アイキャッチサイズ:825px × 510px

Twenty Fifteen のカスタマイズ

Twenty Fifteen の背景や色の変更、ウィジェットやメニューの設定についてです。

Twenty Fifteen のカラーパターン変更

Twenty Fifteen には、予め 6 つのカラーパターンが用意されています。カスタマイズ画面から選択することで変更できます。

Twenty Fifteen のカラーパターン
wordpress.org

外観 > カスタマイズから編集可能です。
Twenty Fifteen カラーパターンの選択
また、自分で好きな色に設定することもできます。
Twenty Fifteen 色の変更

ヘッダー画像の変更

Twenty Fifteen のヘッダー背景画像
wordpress.org

ヘッダー画像を変更すると、サイドバーの背景が変わります。サイズは 954 × 1300 ピクセルを推奨するとのこと。まぁサイドバーだと縦長くなりますので当然そうなりますよね。

メインメニューの設定

メニューといえばヘッダーの上か下に配置されることが多いのですが、Twenty Fifteen には明確なヘッダー部分がなく、ナビゲーションメニューもサイドバーに表示されます。
デザイン・レイアウト的にはウィジェットを追加するのとなんの違いもありませんが、メニューでは階層を指定でき、また今回メニューに補足説明を追加できるようになっています。
さらにソーシャルメニューというものが用意されていて、ソーシャルメディアの URL をメニューに追加すると、ソーシャルアイコンとして自動的に表示されるようになっています。
WordPress4.1のメニュー

メニューに補足説明を追加する方法

外観 > メニューから設定できます。このメニュー設定のページを開いた状態で右上の【表示オプション】をクリックすると、以下のようなメニューが表示されます。【詳細メニュー設定を表示】の右端にある【説明】にチェックをいれると、メニューの中に詳細を入力するボックスが表示されます。
メニュー説明を追加
メニュー説明を入力

ソーシャルメニューの設定

初めから用意されているメニューは 2 つ、メインメニューとソーシャルメニューです。中でもソーシャルメニューには、ソーシャルリンクを追加することで、自動的にソーシャルアイコンとして表示をしてくれるようになっています。
対応しているソーシャルメディアは以下の通り。RSS や Feedly などが使えないのは残念でした。

  • CodePen
  • Digg
  • Dribbble
  • Dropbox
  • Facebook
  • Flickr
  • GitHub
  • Google+
  • Instagram
  • LinkedIn
  • Path
  • Pinterest
  • Pocket
  • Polldaddy
  • Reddit
  • Skype
  • StumbleUpon
  • Tumblr
  • Twitter
  • Vimeo
  • WordPress
  • YouTube

(1) ソーシャルアイコン用のメニューを追加

外観 > メニューから設定できます。メニューの名前を決めて【メニューを作成】をクリックします。
メニューを作成

(2) 作成したメニューの中にリンクを追加

リンクのタブを開き、ソーシャルメディアの URL を入力し、【メニューに追加】をクリック。
ソーシャルリンクを追加

(3) ソーシャルリンクメニューとして表示させる

必要なメニューを追加したら、【メニュー設定】のところで【ソーシャルリンクメニュー】にチェックを入れます。するとサイドバーにソーシャルアイコンが表示されます。
ソーシャルメニューを保存

ウィジェットの設定

ウェイジェットを追加できるエリアはサイドバーのみです。ヘッダー部分にサイトタイトルが表示され、その下にメニュー、ソーシャルメニューが続き、その下からがウィジェットエリアになります。
カスタマイズ方法はこれまで通りで特筆すべき点はありません。

Twenty Fifteen の構造

PHP ファイルの中身をちょっと見てみたいと思います。
まずは header.php です。いきなり id=”sidebar” となっています。その下からヘッダー部分が始まり、サイトタイトルとサイトディスクリプションを出力するタグが配置されています。
その下はサイドバーが出力されるようになっていますね。

<div id="page" class="hfeed site">
	<a class="skip-link screen-reader-text" href="#content"><?php _e( 'Skip to content', 'twentyfifteen' ); ?></a>
	<div id="sidebar" class="sidebar">
		<header id="masthead" class="site-header" role="banner">
			<div class="site-branding">
				<?php
					if ( is_front_page() && is_home() ) : ?>
						<h1 class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></h1>
					<?php else : ?>
						<p class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></p>
					<?php endif;
					$description = get_bloginfo( 'description', 'display' );
					if ( $description || is_customize_preview() ) : ?>
						<p class="site-description"><?php echo $description; ?></p>
					<?php endif;
				?>
				<button class="secondary-toggle"><?php _e( 'Menu and widgets', 'twentyfifteen' ); ?></button>
			</div><!-- .site-branding -->
		</header><!-- .site-header -->
		<?php get_sidebar(); ?>
	</div><!-- .sidebar -->
	<div id="content" class="site-content">

sidebar.php を見てみると、ナビゲーションメニューがここに配置されていますね。このナビメニューの中にはメインメニューとソーシャルメニューの 2 つが配置されていることが分かります。
そして、ナビゲーションメニューの後にウィジェットが来ています。

<?php
/**
 * The sidebar containing the main widget area
 *
 * @package WordPress
 * @subpackage Twenty_Fifteen
 * @since Twenty Fifteen 1.0
 */
if ( has_nav_menu( 'primary' ) || has_nav_menu( 'social' ) || is_active_sidebar( 'sidebar-1' )  ) : ?>
	<div id="secondary" class="secondary">
		<?php if ( has_nav_menu( 'primary' ) ) : ?>
			<nav id="site-navigation" class="main-navigation" role="navigation">
				<?php
					// Primary navigation menu.
					wp_nav_menu( array(
						'menu_class'     => 'nav-menu',
						'theme_location' => 'primary',
					) );
				?>
			</nav><!-- .main-navigation -->
		<?php endif; ?>
		<?php if ( has_nav_menu( 'social' ) ) : ?>
			<nav id="social-navigation" class="social-navigation" role="navigation">
				<?php
					// Social links navigation menu.
					wp_nav_menu( array(
						'theme_location' => 'social',
						'depth'          => 1,
						'link_before'    => '<span class="screen-reader-text">',
						'link_after'     => '</span>',
					) );
				?>
			</nav><!-- .social-navigation -->
		<?php endif; ?>
		<?php if ( is_active_sidebar( 'sidebar-1' ) ) : ?>
			<div id="widget-area" class="widget-area" role="complementary">
				<?php dynamic_sidebar( 'sidebar-1' ); ?>
			</div><!-- .widget-area -->
		<?php endif; ?>
	</div><!-- .secondary -->
<?php endif; ?>

Twenty Fifteen のカスタマイズがうまくできない場合

Twenty Fifteen では色々なカスタマイズができますが、その中でも色の設定があります。サイドバーと背景色と文字色を自由に設定できます。いくつかのパターンも用意されているので、そこから選択することもできます。
しかし、プラグインの Head Cleaner を有効化していると、不具合を起こして色の変更ができませんでした。他にも相性の悪いプラグインがあるかもしれませんね。
カスタマイズがうまく反映されない場合は、プラグインが原因となっているケースが多いです。プラグインが問題を起こしているかな? と思った時は、一旦すべて停止させて、1 つ 1 つ有効化していくとどのプラグインが悪さをしているのか確認できます。怪しいと思ったらプラグインをチェックしてみてくださね。

]]>
https://presentnote.com/twenty-fifteen-customize-setup-design/feed/ 2
【簡単】プラグインを使ってウィジェットの表示/非表示をページごとに設定する方法 https://presentnote.com/sidebar-widget-show-hide-setting-jetpack/ https://presentnote.com/sidebar-widget-show-hide-setting-jetpack/#respond Tue, 25 Nov 2014 06:13:58 +0000 http://presentnote.com/?p=3765 投稿ページには表示させたいけど、固定ページには表示させたくない。サイドバーやフッターに追加しているウィジェットを表示させるページと非表示にするページを指定できたらいいと思ったことはありませか?
条件分岐タグを使えばそれができます。指定した固定ページのみで表示させたりフロントページ(トップページのこと)だけで非表示にしたり。この条件分岐タグはウィジェットに限らず、コメントやヘッダーなど、WordPress のどのパーツやどのページでも使えます。
この条件分岐タグをウィジェットに適用する場合、Widget Logic というプラグインを使うと便利でした。ただ、便利とは言っても条件分岐タグのことをある程度理解しておかなければ設定ができませんでした。
しかし、本日紹介するプラグインの Jetpack を使えば、条件分岐タグの知識がなくても、ウィジェットの表示/非表示を好きなようにカスタマイズできます。

JetPack とは?

Jetpack とは WordPress のプラグインです。非常にたくさんの機能(モジュールと呼ばれています)が備わったプラグインで、もはや WordPress には必須のプラグインと言ってもいいでしょう。ソーシャルプラグインの実装や、アクセス解析、便利なウィジェットの追加などが一手に行えます。
その数あるモジュールの中の 1 つに、ウィジェットの表示/非表示を設定できる機能があります。このモジュールを有効にするだけで、ウィジェット管理画面からウィジェットの表示/非表示を簡単に細かく設定できます。
> Jetpack のダウンロードはこちらからできます。

Jetpack の Widget Visibility を使用して、ページごとにウィジェットをカスタマイズ

Jetpack には多くのモジュールがありますが、今回使用するのは Widget Visibility です。

(1) Widget Visibility を有効化

Jetpack の設定画面で Widget Visibility を有効化します。

ダッシュボード下の【 Jetpack 】>【 設定 】から有効化できます。

Widget Visibilityの有効化

(2) ウィジェット設定画面で、必要なウィジェットを全て追加する

条件に関わらず、全ページのサイドバーやフッターに、まずは全てのウィジェットを追加します。表示させたいウィジェットや特定のページでのみ表示させたいウィジェット、逆に特定のページでのみ非表示にしたいウィジェットなど、全てです。
全てのウィジェットを追加

(3) 公開状態で、ウィジェットの表示/非表示を個別に設定

Widget Visibility を有効化していれば、ウィジェットに【 公開状態 】というボタンが表示されているはずです。この【 公開状態 】をクリックすると、ウィジェットの表示/非表示の条件を設定することができます。
ウィジェットの公開状態

実践例)フロントページで特定のウィジェットを非表示にしてみる

試しに設定してみたいと思います。事例で使用しているのは Twenty Thirteen をベースにカスタマイズしたテーマです。サイドバーに追加するウィジェットの 1 つを、フロントページでのみ非表示にしたいと思います。

(1) サイドバーにウィジェットを追加する

まずは表示/非表示に関わらず、必要なウィジェットを全て追加します。今回使用しているウィジェットは以下の 5 つです。

  • テキスト(GoogleAdSence広告)
  • Custom Fields Search
  • WordPress Popular Posts
  • 最近の投稿
  • My Category Order
  • テキスト(GoogleAdSence広告)

追加したウィジェット

(2) ウィジェット管理画面から表示や非常時を設定する

それではウィジェットの表示/非表示を設定していきましょう。今回は先ほど追加した 5 つのウィジェットの内、アドセンス広告のテキストウィジェットをフロントページで非表示にしてみたいと思います。
テキストウィジェットの【 公開状態 】をクリックして、以下の様に設定の上保存しました。
公開状態の設定
つまり……

【 固定ページ 】が【 フロントページ 】の場合に【 非表示 】

という設定です。それではフロントページへ行って表示を確認してみましょう。
ウィジェットが非表示に
実際にアドセンス広告が非表示になっていました。これでフロントページだけ非表示にする設定ができました。
他にも、特定のカテゴリーページやタグページ、特定の固定ページでウィジェットの表示をカスタマイズすることができます。

選択するだけの簡単操作で、ウィジェットを自由にカスタマイズできる

いかがでしたでしょうか? とても簡単にウィジェットの表示をカスタマイズできると思います。PHP の知識を今から覚える必要はありません。FTP からテーマを直接編集する必要もありません。ダッシュボードからいつでも簡単に設定できてしまいます。
ショートカットできるものはショートカットして、より重要度の高いタスクに時間を割けるようにしましょう。
ちなみに、Jetpack は他にも様々な機能(モジュール)を備えていて、とても便利なプラグインになっています。繰り返しになりますが、WordPress をインストールしたなら、即座に入れるプラグインの 1 つです。必ずインストールしておきましょう。

]]>
https://presentnote.com/sidebar-widget-show-hide-setting-jetpack/feed/ 0
パンくずリストの追加方法 -WordPressの投稿・固定ページ対応- https://presentnote.com/add-breadcrumbs-wordpress-post-page/ https://presentnote.com/add-breadcrumbs-wordpress-post-page/#respond Thu, 15 May 2014 09:00:24 +0000 http://presentnote.com/?p=3458 WordPress にパンくずリストを追加しました。その方法をまとめておきたいと思います。

そもそもパンくずリストとは?

パンくずリストとは、ウェブサイトのページの階層を分かりやすく示すリストのことです。このブログの投稿でも、カテゴリーがパンくずリストとして表示されるようにしました。
パンくずリスト
投稿の場合は、カテゴリーをリスト表示させるのが一般的です。一方固定ページの場合は、親ページと子ページという関係性がある場合にパンくずリストを使って階層表示させることができます。
パンくずリストは SEO 的にも実装した方がよいようです。SEO で大事なことの 1 つは、検索エンジンクローラーができる限りページを巡回してくれることです。その巡回頻度を増やすためにパンくずリストが有効なわけです。

パンくずリストを出力してくれるタグ

投稿カテゴリーのパンくずリスト

カテゴリーをリスト表示させるには以下を追記します。

<a href="<?php bloginfo('url'); ?>">TOP</a>&nbsp;>&nbsp;
<?php $cat = get_the_category(); echo get_category_parents($cat[0], true, '&nbsp;>&nbsp;'); ?>
<?php the_title(''); ?>

どこに追加すればいいのかは後ほど・・・。

固定ページのパンくずリスト

企業のコーポレートサイトなどは、固定ページのパンくずリストを追加したいと思うでしょう。その場合は以下を追記します。

<a href="<?php echo get_option('home'); ?>">TOP</a>&nbsp;>&nbsp;
<?php foreach ( array_reverse(get_post_ancestors($post->ID)) as $parid ) { ?>
<a href="<?php echo get_page_link( $parid );?>" title="<?php echo get_page($parid)->post_title; ?>">
<?php echo get_page($parid)->post_title; ?></a>&nbsp;>&nbsp;
<?php } ?>
<?php the_title(''); ?>

どこに追加すればいいのかはこの次で・・・。

パンくずリストの追記場所

Twenty Thirteen の場合を例に説明していきたいと思います。パンくずリストは基本的にページのヘッダーの下辺りに配置されます。なので、【 header.php 】のナビゲーションメニューの下に追記したいと思います。
基本的には上記のタグを記載していくのですが、それぞれ表示場所が異なるので、その使い分けを指定します。具体的には、トップページでは非表示。投稿ページではカテゴリーのパンくずリスト。固定ページでは階層のパンくずリストが表示されるようにします。条件分岐タグを利用します。

<div id="page" class="hfeed site">
<header id="masthead" class="site-header" role="banner">
<a class="home-link" href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home">
<h1 class="site-title"><?php bloginfo( 'name' ); ?></h1>
<h2 class="site-description"><?php bloginfo( 'description' ); ?></h2>
</a>
<div id="navbar" class="navbar">
<nav id="site-navigation" class="navigation main-navigation" role="navigation">
<h3 class="menu-toggle"><?php _e( 'Menu', 'twentythirteen' ); ?></h3>
<a class="screen-reader-text skip-link" href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentythirteen' ); ?>"><?php _e( 'Skip to content', 'twentythirteen' ); ?></a>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
<?php get_search_form(); ?>
</nav><!-- #site-navigation -->
</div><!-- #navbar -->
/* ▼ パンくずリストを追記 ▼ */
<div id="breadcrumbs">
<?php if ( is_single() ) : ?><!-- 投稿ページでの表示を指示 -->
<a href="<?php bloginfo('url'); ?>">TOP</a>&nbsp;>&nbsp;
<?php $cat = get_the_category(); echo get_category_parents($cat[0], true, '&nbsp;>&nbsp;'); ?>
<?php the_title(''); ?>
<?php endif; ?>
<?php if ( is_page() ) : ?><!-- 固定ページでの表示を指示 -->
<a href="<?php echo get_option('home'); ?>">TOP</a>&nbsp;>&nbsp;
<?php foreach ( array_reverse(get_post_ancestors($post->ID)) as $parid ) { ?>
<a href="<?php echo get_page_link( $parid );?>" title="<?php echo get_page($parid)->post_title; ?>">
<?php echo get_page($parid)->post_title; ?></a>&nbsp;>&nbsp;
<?php } ?>
<?php the_title(''); ?>
<?php endif; ?>
</div><!-- #breadcrumbs -->
</header><!-- #masthead -->
<div id="main" class="site-main">

Twenty Thirteen の場合は CSS でパンくずリストをきれいに整える

Twenty Thirteen の場合、ただ header.php に追記しただけでは端の方に表示されます。ブラウザの左端です。そこで、コンテンツの幅に合うようにレイアウトを整えたいと思います。

#breadcrumbs {
margin: 30px auto 0;
max-width: 1040px;
position: relative;
}

Twenty Thirteen の場合は横幅の指定が必要です。デフォルト通りであれば、最大 1040px にしましょう。これでレスポンシブデザインにも対応できます。

参考にさせて頂いたサイト

ありがとうございました。

]]>
https://presentnote.com/add-breadcrumbs-wordpress-post-page/feed/ 0
Twenty Thirteen の固定ページにテンプレートを追加する方法 https://presentnote.com/how-to-add-page-temp-twenty-thirteen/ https://presentnote.com/how-to-add-page-temp-twenty-thirteen/#comments Sat, 10 May 2014 00:57:56 +0000 http://presentnote.com/?p=3309 WordPress のデフォルトテーマである Twenty Thirteen には、固定ページのテンプレートがありません。そこで固定ページのテンプレートを追加する方法をまとめておきます。追加した上で、そのテンプレート専用のレイアウトなどにする方法もあります。

まずはじめに、固定ページのテンプレートとは?

固定ページとは WordPress のページ作成タイプの 1 つです。ブログのような時系列での投稿とは違い、時間軸とは独立したページを作成できます。階層構造を持っていて、いわゆるホームページのページに近い役割があります。
WordPress の「投稿」はブログ、「固定ページ」はホームページという感じで認識しておくといいと思います。
そして、この固定ページは、ページごとに異なるレイアウトを適用できる、テンプレートというものを追加できます。このテンプレートの数だけ、レイアウトを用意することができ、ページ A にはテンプレート A、ページ B にはテンプレート B のように使い分けることができます。

Twenty Twelve の固定ページテンプレートの場合

例えば、WordPress のデフォルトテーマの 1 つである Twenty Twelve には、以下のような 3 つのテンプレートが備わっています。

Twenty Twelve の固定ページテンプレート

  • デフォルトテンプレート
  • フロントページテンプレート
  • 全幅ページテンプレート、サイドバーなし

そして、固定ページごとに、このテンプレートを選ぶことができます。
Twenty Twelveページ属性

Twenty Thirteen には固定ページテンプレートがない

しかし、Twenty Thirteen にはこのテンプレートがありません。固定ページのレイアウトは、サイト全体のレイアウトと共通したものになります。Twenty Thirteen のレイアウトは、ワンカラムか、右サイドバーの 2 カラムの 2 パターンです。ですので、2 カラムの設定にしていた場合は、「投稿」も「固定ページ」も共通して 2 カラムになります。
Twenty Thirteenページ属性

実践:ワンカラムのテンプレートを追加する

それでは、この Twenty Thirteen に固定ページのテンプレートを追加したいと思います。追加するのはワンカラムのテンプレートです。なぜワンカラムのテンプレートを追加するのか? それは、固定ページごとに、ワンカラムと 2 カラムのレイアウトを選べるようにするためです。
前提として、Twenty Thirteen の基本の設定を 2 カラムにしておきます(これはサイドバー(副ウェジェットエリア)にウィジェットを 1 つでも追加すれば、自動的に 2 カラムになります)。
この場合、通常固定ページも 2 カラムになってしまうのですが、そこにワンカラムのテンプレートを用意することで、2 カラムとワンカラムを使い分けることができる、というわけです。

Twenty Thirteen の固定ページへテンプレートを追加する方法

(1) 固定ページテンプレート(page.php)を複製する

まずは、デフォルトの固定ページのテンプレートに該当する PHP ファイル(page.php)を探して、複製します。

page.php → 複製

(2) 複製した PHP ファイルの名称を変える

複製したファイルに名前をつけてください。今回はワンカラムのページテンプレートにするので【 onecolumn-page.php 】としました。

page.phpのコピー → onecolumn-page.php にリネーム

(3) 複製した PHP ファイルを編集する

onecolumn-page.php のファイルを以下の様に書き換えます。変更点は 2 点。冒頭のテンプレートの説明部分の書き換えと、下部のサイドバー出力の PHP タグの削除です。

  • Template Name と Description を追記
  • サイドバーPHPタグの削除
/* ▼ Template Name と Description を追記 ▼ */
<?php
/**
* Template Name: ワンカラムテンプレート
* Description: A Page Template that no sidebar
*
* @package WordPress
* @subpackage Twenty_Thirteen
* @since Twenty Thirteen 1.0
*/
get_header(); ?>
<div id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php /* The loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php if ( has_post_thumbnail() && ! post_password_required() ) : ?>
<div class="entry-thumbnail">
<?php the_post_thumbnail(); ?>
</div>
<?php endif; ?>
<h1 class="entry-title"><?php the_title(); ?></h1>
</header><!-- .entry-header -->
<div class="entry-content">
<?php the_content(); ?>
<?php wp_link_pages( array( 'before' => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentythirteen' ) . '</span>', 'after' => '</div>', 'link_before' => '<span>', 'link_after' => '</span>' ) ); ?>
</div><!-- .entry-content -->
<footer class="entry-meta">
<?php edit_post_link( __( 'Edit', 'twentythirteen' ), '<span class="edit-link">', '</span>' ); ?>
</footer><!-- .entry-meta -->
</article><!-- #post -->
<?php comments_template(); ?>
<?php endwhile; ?>
</div><!-- #content -->
</div><!-- #primary -->
/* 下から 2 行目の get_sidebar というタグを削除 */
<?php get_footer(); ?>

(4) 専用の CSS セレクタを指定する

複製したファイルの CSS を個別に指定できるように、専用のセレクタを追加します。onecolumn-page.php の <article> 〜 </article> の間を囲みます。今回は <div> で囲みましたが、もっとスマートな方法があるかもしれません。

  • <article> 〜 </article> の間に <div class=”one-column”> 〜 </div> を追加
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
/* ▼ 新たに任意のセレクタ(class)を追記 ▼ */
<div class="one-column">
<header class="entry-header">
<?php if ( has_post_thumbnail() && ! post_password_required() ) : ?>
<div class="entry-thumbnail">
<?php the_post_thumbnail(); ?>
</div>
<?php endif; ?>
/* 〜省略〜 */
<footer class="entry-meta">
<?php edit_post_link( __( 'Edit', 'twentythirteen' ), '<span class="edit-link">', '</span>' ); ?>
</footer><!-- .entry-meta -->
</div>/* ちゃんと閉じるのも忘れずに */
</article><!-- #post -->

固定ページを確認してみましょう

固定ページの編集画面を確認してみましょう。【ページ属性】を見てみると、【テンプレート】という項目が表示されています。
Twenty Thirteenページ属性テンプレート
これで、デフォルトテンプレートか追加したワンカラムテンプレートを選べるようになります。ワンカラムテンプレートのレイアウトを変更したい場合は、スタイルシートで追記したセレクタを使った指定を行えば OK です。先ほどの例で言うと、ワンカラムテンプレートの横幅を広げたいときは以下のようにします。

.one-column .entry-header,
.one-column .entry-content,
.one-column .entry-summary,
.one-column .entry-meta {
 padding: 30px 150px;
}

Twenty Thirteen では、副ウィジェットエリアに何かウィジェットを追加していないと、デフォルトテンプレートでもワンカラム表示になるのでご注意ください。

]]>
https://presentnote.com/how-to-add-page-temp-twenty-thirteen/feed/ 1
ヘッダー・フッター・ナビメニューなどを横幅いっぱいに広げるCSSの書き方-Twenty Twelve篇- https://presentnote.com/widen-header-footer-menu-css-2012/ https://presentnote.com/widen-header-footer-menu-css-2012/#comments Thu, 27 Jun 2013 09:40:41 +0000 http://presentnote.com/?p=2761 よく他のウェブサイトをデザインの参考に見ていると、ヘッダーの背景やフッターの背景、またグローバルナビゲーションメニューなどが横いっぱいに広がっているデザインを見かけます。サイトコンテンツは中央に配置されているのに、背景だけ横いっぱい、ブラウザいっぱいに広がっているのです。
以前、Twenty Eleven でこのようなデザインに変更するための方法を記事にしました。今回は Twenty Twelve で同じようにできないかやってみましたので、その方法をお伝えしたいと思います。
基本的な考え方は Twenty Eleven の場合と同じですが、Twenty Twelve の場合、元の CSS に書かれているある記述のせいでつまずいてしまいました。そのつまずき部分を解消し、ヘッダーやフッターなどの背景をブラウザの画面いっぱいに広げ、ダイナミックなレイアウト・デザインへと変更する方法をお伝えしたいと思います。

スタイルシート(子テーマ)への記述内容

全てに共通する記述

html {
 overflow: auto;
}
body {
 overflow: hidden;
}
@media screen and (min-width: 600px) {
 .site {
  overflow: visible;
 }
}

横幅を広げたい部分に関する記述

#example {
 margin-right: -500%;
 margin-left: -500%;
 padding-right: 500%;
 padding-left: 500%;
}

Twenty Twelveの基本となるパーツのセレクタはこちら

ヘッダー #masthead
グローバルメニュー #site-navigation
.main-navigation
※注
フッター #colophon

注)グローバルメニューのセレクタについて

グローバルメニューのデザインを指定しているセレクタは、上記の id や class 以外にもいくつもあります。メニューをどのようにカスタマイズしているかで、指定すべきセレクタが変わってくるようです。
特に Twenty Twelve のグローバルナビメニューは、上下に 1px のボーダーが引かれていますが、実は上記の 2 つのセレクタでは、このボーダーまで横に伸ばすことができません。
ボーダーも横に伸ばしたい場合は、以下のセレクタを、左右のマージン、パディングともに引き延ばす必要があります。

デフォルト状態のグローバルナビメニュー

デフォルト状態のグローバルナビは、作成した固定ページへのリンクが順番に表示されるようになっています。1460 行目からの記述にマージンやパディングを追記すると、ボーダーも含めて横幅を広げることが可能です。

/* Minimum width of 600 pixels. */
@media screen and (min-width: 600px) {
/* 〜省略〜 */
 .main-navigation ul.nav-menu,
 .main-navigation div.nav-menu > ul {
  border-bottom: 1px solid #ededed;
  border-top: 1px solid #ededed;
  display: inline-block !important;
  text-align: left;
  width: 100%;
  margin-right: -500%;
  margin-left: -500%;
  padding-right: 500%;
  padding-left: 500%;
 }
}

カスタムメニューで変更した場合のグローバルナビメニュー

カスタムメニューで独自のメニューを作成し、グローバルナビに適用させた場合は、上記のセレクタ以外にも以下のセレクタが使えます。

#menu-global-nav {
 margin-right: -500%;
 margin-left: -500%;
 padding-right: 500%;
 padding-left: 500%;
}
2013.06.29 追記
Twenty Twelve を使っているサイトを複数確認したところ、別のサイトでは #menu-global-nav が使われていませんでした。代わりに、【 #menu-main 】と表示されていました。どんなセレクタが指定されているかは、Firebug( Firefox のプラグイン)などを使ってサイトごとに確認した方がいいみたいです。

Twenty Twelveでの注意点とは?

Twenty Eleven の記事でもお伝えしたように、基本的な考え方は変わりません。なので、別に Twenty Eleven でなくても Twenty Twelve でなくても使えるテクニックです。
ただ、Twenty Twelve の場合はデフォルトの CSS で影響で、うまくいかず、ちょっとした工夫が必要になります。
以下は上記設定の考え方になりますので、興味のある方はどうぞ・・・。

グローバルナビゲーションメニューだけ広がらない

Twenty Eleven の場合と同じようにスタイルシートを記述した場合、グローバルメニューの部分がブラウザいっぱいに広がってくれません。以下のようにある範囲までしか広がらないのです。
ブラウザ全体に広がらないよ横幅
その範囲はというと、どうやら【 .site 】というセレクタで指定されている部分のようです。

なぜ、グロナビはサイトの範囲内までしか横に広がってくれないのか?

その原因はスタイルシートに記述されている【 overflow 】の値にありました。デフォルトでは以下のように記述されています。

/* =Media queries
-------------------------------------------------------------- */
/* Minimum width of 600 pixels. */
@media screen and (min-width: 600px) {
/* 〜省略〜 */
 .site {
  margin: 0 auto;
  max-width: 960px;
  max-width: 68.571428571rem;
  overflow: hidden;
 }

この【 overflow 】ははみ出た部分をどうするか、ということを指定しています。デフォルトの指定は【 hidden 】なので、はみ出た部分は非表示になります。つまりこれが原因で横に広がった部分が表示されず、サイトの範囲内に収まったように見えていたわけです。
この部分を表示させるには、【 overflow 】の値を【 hidden 】から【 visible 】へ変更する必要があります。これで、グローバルナビゲーションメニューも左右横にちゃんと広がってくれます。

]]>
https://presentnote.com/widen-header-footer-menu-css-2012/feed/ 1
WordPressでページごとに別のスタイル(外部CSS)を適用させる方法 https://presentnote.com/apply-different-css-each-page/ https://presentnote.com/apply-different-css-each-page/#respond Tue, 28 May 2013 23:07:03 +0000 http://presentnote.com/?p=2651 「このページだけ、違うスタイルシートを適用したいな〜」と思ったことはありませんか? WordPress のテーマファイルには必ずスタイルシート(style.css)が含まれているはずです。そして、基本的にそこで決めたスタイルは全てのページに適用されます。でも、ページによってはちょっと違うスタイルを適用させたい……と思う時がありますよね。
例えばトップページだけ別のスタイルにしたいとか。
そんな時は、コンテンツに直接スタイルを適用することもできます。<span> とか <div> タグを使って、特定の部分だけデザインを変更することもできます。
でも、それをいちいちやっていると面倒です。「このページの見出し2(H2)は、全て赤文字にしたい!」と思ったとしても、見出し2が出て来るたびに <span> を使ってスタイルを指定しなくてはならなくなります。そんなの面倒ですよね。なので、「このページの見出し2は全て赤文字」というスタイルを一括で指定できるようにします。

カスタムフィールドを使用して、任意のCSSファイルを適用させる

カスタムフィールドを使います。カスタムフィールドは投稿や固定ページの編集画面に表示されています。表示されていない場合は、左上の【表示オプション】を開いて、【カスタムフィールド】にチェックを入れてみてください。投稿エディタの下にカスタムフィールドという項目が表示されるはずです。
カスタムフィールドの表示
ここのカスタムフィールドに、個別の外部CSSファイルを読み込ませます。手順は以下の通りです。

1.functions.php に必要事項を追記

子テーマに作成した functions.php で構いません。以下の内容を追記してください。ちなみに、子テーマに functions.php を作成する場合はこちらを参照のこと。

/* カスタムフィールドで外部CSSを複数読み込み */
function include_custom_css(){
	if(is_single()||is_page()){
	if($css = get_post_meta(get_the_ID(), 'includeCSS', true)){
	echo "<link type=\"text/css\" rel=\"stylesheet\" href=\"{$css}\" />\n";
						}
					}
				}
add_action('wp_head','include_custom_css');

2.子テーマ内にCSSファイルを作成

まずは分かりやすいように、CSSというディレクトリ(フォルダ)を作成しておきましょう。そして、そのディレクトリの中に任意のファイル名でCSSファイルを作成します。例えば以下のような感じです。

子テーマフォルダ

∟ CSS(フォルダ)

∟ new-style.css(ファイル)

3.カスタムフィールドを追加

1.の作業を行うと、カスタムフィールドの【名前】の部分に【includeCSS】という選択が表示されているはずです。まずはこれを選択します。選択肢がない場合は、新たに【includeCSS】を追加入力してください(確か古いバージョンのWordPressの場合、直接入力だった気がします……)。
includeCSSの追加
そして、【値】の部分に、CSSファイルまでの絶対パスを記載します。先ほど作成したCSSファイル(new-style.css)の場合、絶対パスは以下のようになります。
CSSファイルの絶対パスを記載

絶対パスの例
http://ドメイン.com(WordPressのあるディレクトリ)/wp-content/themes/子テーマ/css/new-style.css

上記2点を入力したら、【カスタムフィールドを追加】をクリックします。これで、このページには new-style.css に記載したスタイルが適用されるようになります。

スタイルを記述する際の注意事項

新たに作成したスタイルシート(この例では new-style.css)に、スタイルを記述する際にはちょっとした注意が必要です。例えば Twenty Eleven の場合、任意のページの見出し2の色を赤に変えるには、new-style.css に以下のように記述必要があります。

.entry-content h2 {
	color: red;
}

単純に h2 とだけ書いて指定しても変化がありません。親テーマのスタイルシートの方で【 .entry-content h2 】と記載されているので、同じように記載して上書きする必要があります。このように、該当すると思われる id や class を指定してみても変化がない場合は、親テーマでどのように指定されているかをチェックしてみると、正しい記述方法が分かると思います。
Twenty Eleven 以外のテーマを使っている場合でも、同様に親テーマのスタイルシートを元に、新たに指定しなおしてみてください。これで全てのページのスタイルを簡単に自由に変更することができるようになります。

参考サイト

ありがとうございました!

]]>
https://presentnote.com/apply-different-css-each-page/feed/ 0
WordPressの固定ページに別の固定ページの内容を表示させる方法 https://presentnote.com/show-other-page-on-page/ https://presentnote.com/show-other-page-on-page/#comments Sun, 28 Apr 2013 00:20:27 +0000 http://presentnote.com/?p=1814 WordPress をカスタマイズして作るサイトのレイアウトを、以下のようにしたいと思い、情報を探していました。
レイアウトサンプル
つまり、ヘッダーの後に、ヘッダーと同じ幅でワンカラムのコンテンツがあり、その後サイドバー付きの 2 カラムのコンテンツが表示されるというレイアウトです。かつトップページのみこのレイアウトにし、あとは一般的な 2 カラムの構成にしたかったのです。
テンプレートファイルに直接 HTML で書いてしまえば単純に解決するわけですが、それだと編集が面倒だなと思いました。できればワンカラムも2カラムも、どちらのコンテンツも WordPress の管理画面上で編集できるようにしたかったのです。
また、ウィジェットでも追加できるのですが、ウィジェット管理画面にはエディタが付いていないので、タグや画像の挿入が面倒になってしまいます。なので、固定ページを2つ用意して、それぞれが 1 ページにワンカラムと 2 カラムに分かれて表示されるようにしたかった、というわけです。
レイアウトサンプル

フロントページ用の固定ページに、別の固定ページのコンテンツを表示させる方法

ここでは、フロントページ(トップページ)のみで使用する、他とはレイアウトの違うページを作成したいと思います。基本的には WordPress の固定ページ 1 ページの中に、2 つ分の固定ページを表示させる方法というわけですね。上記の図で言うと、固定ページ①がフロントページ用に用意した固定ページ、固定ページ②は別の固定ページで、内容だけを呼び出しているという感じです。それでは具体的な作業手順です。

手順

  1. 新たにテンプレートファイルを作成
  2. フロントページ用の固定ページを作成
  3. 基本となる固定ページ①に表示させたい固定ページ②を作成
  4. テンプレートファイルに固定ページ②を表示させるタグを挿入
  5. ページのレイアウトを整える

1.新たにテンプレートファイルを作成

フロントページ用のテンプレートフィアルを作成します。テンプレートファイルとは、固定ページを作成する際に「ページ属性」という部分にある「テンプレート」という項目です。テンプレートを選ぶことで固定ページのレイアウトを変えることができます。
Twenty Eleven の場合、「デフォルトテンプレート」・「サイドバーテンプレート」・「ショーケーステンプレート」の 3 つが用意されています。
オリジナルのテンプレートファイルを作成する方法は、こちらの記事「固定ページのテンプレートにオリジナルを追加・作成する方法」にまとめています。

固定ページのテンプレートにオリジナルを追加・作成する方法


この記事に従って、サイドバーテンプレートをベースにしたテンプレートを新たに追加してください。

ここでは、リンク先の記事に従って「サブページ」という名称のテンプレートファイルを追加したこととします。

2.フロントページ用の固定ページ①を作成

フロントページ(トップページ)に表示させるための固定ページを作成します。固定ページ①に該当するページです。他の言い方をすると、別の固定ページの内容を抽出したいページ、もしくは【手順1】で作成したオリジナルのテンプレートを適用したいページということです。
通常通り固定ページを作成し、「ページ属性」の「テンプレート」の部分で、必ず【手順1】で作成したテンプレートを選んでください。
固定ページのテンプレート選択

3.基本となる固定ページ①に表示させたい固定ページ②を作成

固定ページ①の任意の場所に表示させる固定ページ②を作成します。通常通り固定ページを作成して、保存してください。この時のポイントは記事のタイトルです。今回はタイトルで固定ページを認識させますので、重複タイトルは絶対に避けてください。

ここでは、固定ページ②のページタイトルを「サンプルページ」としておきます。

4.テンプレートファイルに固定ページ②を表示させるタグを挿入

【手順1】で作成したテンプレートファイルを書き換え、固定ページ② が表示されるようにします。以下のコードを追記してください。

<?php // 指定の固定ページの本文を抽出
$my_post = get_page_by_title ( 'フロントページ' );
echo apply_filters ( 'the_content', $my_post -> post_content );
?>
2013.6.23 追記
Tecking さんからのご連絡により、コードを修正しました。上記と、これ以降に出てくるコードは修正済みです。
修正前

<?php // 指定の固定ページの本文を抽出
$post = get_page_by_title ( 'フロントページ' );
echo apply_filters ( 'the_content', $post -> post_content );
?>

修正後
$post を &my_post へ変更。

<?php // 指定の固定ページの本文を抽出
$my_post = get_page_by_title ( 'フロントページ' );
echo apply_filters ( 'the_content', $my_post -> post_content );
?>

今回はページタイトルを使って固定ページ②の内容を抽出しています。先ほど「サンプルページ」とタイトルを設定していましたので、2 行目はそのまま「サンプルページ」となります。このタグをどこに記載すればいいかと言うと……

<?php
/**
* Template Name: サブページ
* Description: A Page Template that adds a sidebar to pages
*
* @package WordPress
* @subpackage Twenty_Eleven
* @since Twenty Eleven 1.0
*/
get_header(); ?>
<!-- ▼ 固定ページを抽出するタグを挿入 ▼ -->
<div id="lead">
<?php // 指定の固定ページの本文を抽出
$my_post = get_page_by_title ( 'フロントページ' );
echo apply_filters ( 'the_content', $my_post -> post_content );
?>
</div>
<!-- ▲ 固定ページを抽出するタグを挿入 ▲ -->
<div id="primary">
<div id="content" role="main">
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', 'page' ); ?>
<?php comments_template( '', true ); ?>
<?php endwhile; // end of the loop. ?>
</div><!-- #content -->
</div><!-- #primary -->
<!-- サイドバーのタグは削除しています -->
<?php get_footer(); ?>

固定ページ②を表示させたい場所は、ヘッダーと固定ページ①のコンテンツの間なので、上記の位置にタグを挿入します。id は lead としましたが、ここは任意で割り振ってください。また、レイアウトの関係上、サイドバー出力タグは削除しています。これで固定ページ①を表示させると、固定ページ②の内容も表示されるようになります。

5.ページのレイアウト・デザインを整える

固定ページ①上に表示されている固定ページ②には、通常のスタイルシートが適用されていません。そこで、この部分に関するスタイルは別途指定しましょう。上の例では【 id=”lead” 】と割り振ったので、【 #lead h2 】や【 #lead ul 】のように指定していきます。
また、今のままだとサイドバーは表示されていません(タグを削除したため)。仮にタグを削除しなかったとしても、固定ページ①の下に配置されてしまいます。でもサイドバーはサイドに表示させたいわけです。このままではいけません。
最も簡単な方法は、Twenty Eleven Theme Extensions というプラグインを使う方法です。このプラグインを使うことによって、通常はサイドバーが表示されないTwenty Elevenのデフォルトテンプレートにも、サイドバーを表示してくれます。設定は、

外観 > Theme Extensions > Enable the widget sidebar on pages にチェック

です。これで、サイドバータグを削除した状態でも、サイドバーを表示してくれます。左右のレイアウト変更は、通常通り

外観 > テーマ設定 > デフォルトのレイアウト

にて行えます。

特定の固定ページを色々な条件の元表示させることも可能

今回は固定ページ用のテンプレートを作成し、そこに特定の固定ページを表示させました。しかし、固定ページを表示させるタグの使い方(手順4)を理解しておけば、表示させる位置は自由です。条件分岐タグを使って表示・非表示を切り替えてもいいですし、他のテーマファイルにのみ表示させることもできます。
ぼくがよく使うカスタマイズでは、全ページに問い合わせフォームを表示させるというものがあります。問い合わせフォーム用の固定ページを 1 つ作成し、その固定ページを全てのページに表示させるわけです。
固定ページを表示させる【手順4】のタグを、【 single.php 】に書き込みます。場所は loop の後がいいと思います。すると、どこのページからも問い合わせフォームにすぐアクセスできる状態になるわけです。問い合わせフォームの編集も元となる固定ページを編集すれば全てに変更が適用されるので簡単で便利です。
ぜひ今回の使い方をマスターして欲しいと思います。

参考にさせて頂いたサイト

ありがとうございました!

]]>
https://presentnote.com/show-other-page-on-page/feed/ 2
固定ページのテンプレートにオリジナルを追加・作成する方法 https://presentnote.com/how-to-make-page-template/ https://presentnote.com/how-to-make-page-template/#respond Sat, 27 Apr 2013 00:30:25 +0000 http://presentnote.com/?p=2074 WordPress の記事作成には、2つのタイプがあります。ひとつは投稿。もうひとつは固定ページです。その固定ページですが、テーマによってはテンプレートを選ぶことができます。例えば、WordPress にデフォルトで備わっているテーマの場合を見てみましょう。
Twenty Elevenの場合、テンプレートは3種類あります。

  • デフォルトテンプレート
  • サイドバーテンプレート
  • ショーケーステンプレート
また、Twenty Twelve の場合も3種類あります。

  • デフォルトテンプレート
  • フロントページテンプレート
  • 全幅ページテンプレート、サイドバーなし

基本的にこれらのテンプレートのうち、どれかを使えば事足りるとは思いますが、中にはちょっと違うレイアウトのテンプレートが欲しいと思う場合もあるでしょう。
特に、〝トップページのみ〟他のページとは違ったレイアウトにしたいと思う事は少なくないのではないでしょうか? かく言うぼくも、トップページのみレイアウトや表示を変えたいと思った事が多々あります。そんな時は条件分岐タグを使うのも1つの方法ですが、テンプレートファイルを新たに作成し、別のレイアウトを表示してくれる方法を使うのも手です。
この記事では、そんなテンプレートファイルの作り方を説明していきます。

事例)Twenty Eleven の場合

テンプレートファイルとは?

ここでは、WordPress のデフォルトテーマである Twenty Eleven を例に取って見て行きます。Twenty Eleven には3種類のテンプレートがありました。デフォルトテンプレート・サイドバーテンプレート・ショーケーステンプレートの3つです。これら3つのテンプレートを呼び出すファイルは次の3つです。

  • デフォルトテンプレート → page.php
  • サイドバーテンプレート → sidebar-page.php
  • ショーケーステンプレート → showcase.php

これらのファイルを開いてみてください。ショーケーステンプレートは結構複雑で、何が書かれているのかよく分かりませんが、デフォルトとサイドバーテンプレートは、結構スカスカで、簡単な作りになっているのが分かると思います。
ですが、その全ての元になっているのはデフォルトテンプレートです。よく見てみると、デフォルトテンプレートとサイドバーテンプレートの違いは、サイドバー呼び出すタグがあるかないかの違いだけです。

デフォルトテンプレート

<?php
/**
 * The template for displaying all pages.
 *
 * This is the template that displays all pages by default.
 * Please note that this is the WordPress construct of pages
 * and that other 'pages' on your WordPress site will use a
 * different template.
 *
 * @package WordPress
 * @subpackage Twenty_Eleven
 * @since Twenty Eleven 1.0
 */
get_header(); ?>
		<div id="primary">
			<div id="content" role="main">
				<?php while ( have_posts() ) : the_post(); ?>
					<?php get_template_part( 'content', 'page' ); ?>
					<?php comments_template( '', true ); ?>
				<?php endwhile; // end of the loop. ?>
			</div><!-- #content -->
		</div><!-- #primary -->
<!-- サイドバーのタグなし -->
<?php get_footer(); ?>

サイドバーテンプレート

<?php
/**
 * Template Name: Sidebar Template
 * Description: A Page Template that adds a sidebar to pages
 *
 * @package WordPress
 * @subpackage Twenty_Eleven
 * @since Twenty Eleven 1.0
 */
get_header(); ?>
		<div id="primary">
			<div id="content" role="main">
				<?php while ( have_posts() ) : the_post(); ?>
					<?php get_template_part( 'content', 'page' ); ?>
					<?php comments_template( '', true ); ?>
				<?php endwhile; // end of the loop. ?>
			</div><!-- #content -->
		</div><!-- #primary -->
<?php get_sidebar(); ?><!-- サイドバーのタグあり -->
<?php get_footer(); ?>

Twenty Eleven に新たにテンプレートを追加したい場合は、サイドバーテンプレートを活用すると簡単です。

(1) テンプレートファイルを複製する

まずは、サイドバーテンプレートを複製します。ファイル名は適当に付けてください。ここでは、【 sub-page.php 】としておきます。複製したファイルは子テーマのテーマフォルダにアップロードしましょう。
テンプレートファイルを複製

(2) テンプレートであることを認識させる

複製したファイルを開くと以下のようになっています(サイドバーテンプレートと同じ内容)。このファイルを新しいテンプレートと認識させるのはとても簡単です。冒頭部分の【 Template Name: Sidebar Template 】という部分に新しい名前を付けるだけです。【 Sidebar Template 】の部分ですね。ここは日本語でもOKです。

<?php
/**
 * Template Name: サブページ ←ここの名前を任意に変更するだけ!
 * Description: A Page Template that adds a sidebar to pages
 *
 * @package WordPress
 * @subpackage Twenty_Eleven
 * @since Twenty Eleven 1.0
 */
get_header(); ?>

これで一旦固定ページ作成画面を見てみましょう。新しいテンプレートが認識されているはずです。
固定ページのテンプレート選択

新しいテンプレート用のスタイルシートを適用する

新しく追加したテンプレートには、一部適用されないスタイルシートがあります。例えば、今回はサイドバーテンプレートを複製しましたが、サイドバーテンプレートにしか適用されないスタイルは、新しいテンプレート(ここではサブページテンプレート)に適用されません。そのため、サイドバーの位置が横ではなく、コンテンツの下にきているはずです。
新しいテンプレートだけにスタイルを適用させたい場合は、以下のように書くと便利です。

/* ファイル名の sub-page.php のみに適用させるスタイル */
.page-template-sub-page-php p {/*サブページの p タグの文字色は全て赤色になります。*/
	color: #f00;
}

もしくは、カスタムフィールドを使って、該当する固定ページのみに適用される専用スタイルシートを、新たに追加する方法もあります。
また、テンプレートに割り振られている id 自体を、新しく書き換えてもいいです。しかし、そうすると全てのスタイルをいちから適用し直さなくてはならなくなるので面倒です。

]]>
https://presentnote.com/how-to-make-page-template/feed/ 0
Twenty Elevenを自由にカスタマイズしていく便利ツールを公開 https://presentnote.com/release-twenty-eleven-css-manual/ https://presentnote.com/release-twenty-eleven-css-manual/#respond Sat, 16 Feb 2013 00:26:50 +0000 http://presentnote.com/?p=2228 WordPress にはたくさんのおしゃれなテーマがあります。ですが、自社の色を出したり、自分独自のオリジナリティを出すにはある程度カスタマイズしたいと思いますよね? 一言で言えば、オリジナルのデザインテーマが欲しいということになるのではないでしょうか?
ですが、WordPress を集客やセールスに活用したいと考えるなら、サイトのカスタマイズに時間をかけるわけにはいきません。ぼくたちはあくまでもビジネスに WordPress を活用したいと考えているわけで、ウェブデザイナーになりたいわけではありません。
なので、できるだけ無駄な時間をかけずにカスタマイズするべきです。いちいち検索で調べたり、人に聞いたり、質問したり、そんな時間がもったえないですよね。

WordPress を使う本当の目的は
デザインスキルを身に付けることではない

また、完全にオリジナルのテーマを作るというのも非効率です。ぼくたちは WordPress のテーマを自作できるスキルを身につける必要はないのです。自社のイメージに合わせて、全体のカラーを整えたりレイアウトを整えたりできればいいわけです。
ですので、WordPress のテーマを 1 から作るのではなく、既にあるテーマを自分好みにカスタマイズできるようになれば十分なのです。そして、そのために必要なスキルや知識、テクニックなどは実はそんなに多くありません。中でもスタイルシートを変更する方法を身に付ければ、ある程度自分の好きなデザインにしていくことができます。
そこで、なるべく時間を書けずに Twenty Eleven のスタイルシートを変更し、Twenty Eleven をベースとしたオリジナリティのある WordPress サイトをつくろう! ということで、あるマニュアルを作成しました。それがこちら。

WordPress のデフォルトテーマである Twenty Eleven の CSS の変更方法に特化したマニュアルです。ただし、これは Twenty Eleven のスタイルシートの内容を解説したものではありません。逆引きマニュアルとなっているように、「○○を変更したい場合は、●●を変更すれば OK」ということが瞬時に分るようにしたマニュアルです。
2013 年 2 月時点で 30 項目の変更箇所を記載しています。例えば「ヘッダーの高さを変更したいな〜」と思た場合、目次をざっと探して 9 番目の項目をクリックすると、該当ページへジャンプします。後はそこに書かれているスタイルの書き方をコピペして、好きな高さを指定すれば OK です。簡単ですよね?
そのような項目を、ヘッダー・グローバルナビゲーションメニュー・コンテンツ部分などに分けて、30 項目に渡って掲載しています。さらにこのマニュアルは、今後も変更内容を追加していく予定です。

Twenty Elevenを使う3つの理由

2013 年現在、WordPres sのデフォルトテーマの最新版は Twenty Twelve です。Twenty Eleven は 1 つ前のタイプのテーマです。
なぜ、Twenty Eleven を使うのでしょうか?

理由1)シンプルでカスタマイズ性が高い

Twenty Eleven はとてもシンプルな作りです。かつ、サイドバーも右・左と選べますし、フッターにも最大3つまでウィジェットを追加できます。つまり基本的なレイアウトは管理画面から簡単に変更できます。
また、デザインはシンプルかつ基本的なパーツはそろっているため、ビジネス上必要なコンテンツを見せるためのデザインが簡単にできます。タイトル・画像・ナビゲーションメニュー・サイドバー・フッターなど、これらの基本的なパーツを簡単に管理画面から編集することができます。
また、ある程度テーマファイルの中身も把握すれば、より自由にコンテンツを見せることも可能です。

理由2)新たに他のテーマのCSSを理解する時間がもったえない

CSS も基本的なことは一緒です。例えば文字の大きさを指定したければ【font-size】を使います。そこに違いはありません。ですが、id や class といった CSS セレクタの指定の仕方は、テーマごとに異なります。ですので、テーマが変われば改めて CSS の中身を把握しなければならず、そこに時間がかかります。
Twenty Eleven に関して今まで時間をかけてきていますので、今から更なる時間をかけて別のテーマの中身を理解するのは非効率です。Twenty Eleven はアップデートも繰り返されているテーマですのでまだまだ使えます。Twenty Twelve も魅力的ですが、こちらの分析・解析は他の専門家に任せて、ぼくたちは慣れ親しんだテーマを使いましょう。

※他に慣れ親しんだテーマがあるなら、それを継続して使うことをオススメします。

理由3)情報が多い

これも理由 2 と似たような感じですが、Twenty Eleven はリリースされてから時間が経っているため、ネット上に関連情報が多いというのが挙げられます。また WordPress のデフォルトテンプレートであるため、やはり情報が多い。
他のテーマの場合、カスタマイズ方法を調べてみても、たいして情報が出てこない場合が多いでしょう。Twenty Elevenなら、デフォルトテーマということもあり、色んな人が使い方やカスタマイズの方法を公開してくれています。なので、時間短縮にもなりますし、調べる労力が減り、効率もよくなります。

無駄な時間を省いて、効率よくカスタマイズを

以上、Twenty Eleven を使う理由を挙げてみました。結局のところ、インターネットを使ったマーケティングに WordPress を使っていくとなると、最も重要なことはコンテンツをつくることです。質・量ともに重要です。この一番重要な部分に時間と力を注ぎ、その他の部分はできるだけ簡単に、効率よくできるようにしようというのが、このマニュアルの趣旨です。
「時は金なり」なんて言われますが、実際は「時は金よりも貴重」です(お金は失っても取り戻せますが、時間は失ったら失ったままですからね……)。ぜひ、作業の効率化を図って、ビジネスを成長させていってください。
> ダウンロードはこちらの専用ページから無料でできます。

]]>
https://presentnote.com/release-twenty-eleven-css-manual/feed/ 0
抜粋記事の「続きを読む→」をデザインする方法-WordPress Twenty Eleven篇- https://presentnote.com/design-continue-reading-twenty-eleven/ https://presentnote.com/design-continue-reading-twenty-eleven/#comments Wed, 13 Feb 2013 02:12:23 +0000 http://presentnote.com/?p=2233 Twenty Eleven でトップページやアーカイブページの記事一覧を抜粋表示にした場合、「続きを読む」の表示を変更したいと思ったことはありませんか?
デフォルトでは「続きを読む→」という感じで、テキストと→(矢印)だけです。目立ちませんし、味気ない。まぁこのブログはその味気ないままなんですが、そこは突っ込まないことにして、今回のコンテンツはこの「続きを読む→」のデザインを変更する方法に関してです。

記事の中にMoreタグを挿入した場合

More タグというのがあります。このタグを挿入すると、そのタグより前の文章だけが抜粋され、それ以降は「続きを読む」になります。記事の一覧ページやアーカイブページなどでは抜粋表示となり、個別投稿ページで全文表示となります。

ビジュアルエディタの場合)

ビジュアルエディタでのMoreタグ

テキストエディタの場合)

テキストエディタでのMoreタグ
この場合、「続きを読む→」に class が割り振られます。自動的に。それがこちら。

.more-link

ですので、この class に文字色や背景・画像などを指定すれば「続きを読む→」を自由にデザインできます。具体的なスタイルシートの書き方についてはのちほど。

Moreタグを使わず、常時抜粋表示になるようにテンプレートをカスタマイズしている場合

WordPress には、抜粋表示用のタグが用意されています。それがこちら。

<?php the_excerpt(); ?>

このタグを使えば、記事は抜粋表示になります。
このタグを使った、記事一覧の抜粋表示の方法についてはこちら。

トップページを抜粋記事の一覧表示にする-WordPress Twenty Eleven篇-


このカスタマイズを行えば、いちいち記事ごとに More タグを指定しなくても、一定の文字数で自動的に抜粋表示してくれます。しかしこの場合、先ほどのような特定の class が割り振られません。【 more-link 】という class を指定しても、何も変化しないのです。
ではどのように指定すればいいのでしょうか?

「続きを読む」にclassを追加する方法

この編集は親テーマの functions.php を編集する必要がありそうです。該当箇所は以下の部分。

function twentyeleven_continue_reading_link() {
return ' <a href="'. esc_url( get_permalink() ) . '">' . __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyeleven' ) . '</a>';

<a> タグの中に class を指定すれば OK です。

function twentyeleven_continue_reading_link() {
return ' <a class="任意のセレクタを指定" href="'. esc_url( get_permalink() ) . '">' . __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyeleven' ) . '</a>';

他にも、<a> タグの外を、<span> や <div> で囲っても OK です。

function twentyeleven_continue_reading_link() {
return ' <div class="任意のセレクタを指定"><a href="'. esc_url( get_permalink() ) . '">' . __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyeleven' ) . '</a></div>';
/* </a>の後を必ず閉じるのを忘れないように! */

<span> で囲むとインライン扱いなので、抜粋記事に続くように「続きを読む→」が表示されます。
インラインの「続きを読む」
<div> で囲むとブロック要素になるため、抜粋記事と「続きを読む→」が改行されて別段落として表示されます。
ブロックの「続きを読む」

functions.phpを編集する場合の注意点

本来、テーマのカスタマイズは、子テーマをつくって編集するのが望ましいのですが、functions.php の場合はそうはいかない場合があります。親テーマと同じ内容を子テーマに記載すると、エラーが発生してサイトが表示されなくなるのです。
そのため、親テーマで既に記述されている内容を編集する場合は、親テーマの functions.php を直接編集する必要があります。そうなると、テーマのアップデートをした際に編集内容が元に戻ってしまいますので注意してください。

「続きを読む→」の編集テクニック

以上の方法で、「続きを読む→」をデザインするための下準備は整いました。あとはスタイルシートで編集をするだけです。

「続きを読む→」をスタイルシートでデザインする方法

指定した class に背景や文字色、余白などを指定していけば OK です。以下にサンプルを載せておきます。(functions.php の続きを読むの部分を <div> タグで囲った場合)

スタイルシートの記述例)

/* 続きを読む */
.read-more a {
 float: right;
 width: 100px;
 padding: 0.3em 1em;
 color: #eee;
 background: #000;
 border: 1px solid #666;
}

実際の表示)

「続きを読む」をCSSで編集

「続きを読む→」の文言や矢印を変更する方法

「続きを読む」は「続きを読む」と表示されています。またその後の「→」も矢印のままです。これを好きな言葉に変更してみましょう。この変更は functoins.php を直接編集します。「Continue reading」と書かれている部分を好きな言葉に変更できます。

function twentyeleven_continue_reading_link() {
return ' <a href="'. esc_url( get_permalink() ) . '">' . __( 'もっと読む!(好きな言葉に置き換え) <span class="meta-nav">&rarr;</span>', 'twentyeleven' ) . '</a>';

矢印に関しては、HTML の特殊文字用コード(&rarr;)で記述されていますので、他のコードにしてもいいですし、消し去っても OK。その他の記号をそのまま記述して大丈夫です。

「続きを読む→」を画像にする方法

テキストではなく画像で表示させたい場合も、functions.php を直接編集します。テキストに該当する部分を消して、画像指定の <img> タグを使えば OK です。画像は絶対パスで指定しましょう。(Moreタグでの抜粋表示の場合は無効です。)

functions.phpの記述)

function twentyeleven_continue_reading_link() {
return ' <div class="read-more"><a href="'. esc_url( get_permalink() ) . '">' . __( '<img src="絶対パスで画像のURLを指定" alt="続きを読む" />', 'twentyeleven' ) . '</a></div>';

スタイルシートの記述例)

/* 続きを読む */
.read-more {
float: right;
}
/* マウスポインタを合わせると、光ったようになります */
.read-more:hover {
filter: alpha(opacity=65);
-moz-opacity:0.65;
opacity:0.65;
}

実際の表示)

「続きを読む」を画像で表示

]]>
https://presentnote.com/design-continue-reading-twenty-eleven/feed/ 1