PHPを書くの、「コピペから脱却した〜〜い」と考えている@Kc_fujiです。
今回、Wordpressでブログじゃない飲食サイトを個人で受けました。仕事内で一度作成した事はあったのですが、
右往左往しながら、過去のコードを引っ張ってきたり、不慣れながら自分で書いてみたりと、何かと時間がかかってしまいました。
※記述の仕方が旧式であったりとか、細かい部分は端折っている箇所もあります。あくまで自分のメモ書きなのでその辺りはご了承をm(_ _)m
(1)titleをWP管理画面の「サイトのタイトル」呼び出す
<title><?php bloginfo('name'); ?> <?php if ( is_single() ) { ?> » Blog Archive <?php } ?> <?php wp_title(); ?></title>
※»は「>>」ちなみに、反対の「<<」は «
※この辺は、「All in one SEO pack」を使えばいいかもしれませんが、プラグイン無しで行くならこんな感じ
(2)discriptionをWP管理画面の「キャッチフレーズ」を呼び出す。
<meta name="description" content="<?php bloginfo('description'); ?>" />
<?php get_header(); ?> /*「header.php」呼び出し**/ <?php get_sidebar(); ?>/*「sidebar.php」呼び出し**/ <?php get_footer(); ?>/*「footer.php」呼び出し**/
通常のPHPで言うところのインクルードコード。「header.php」「sidebar.php」「footer.php」を呼び出す。
(1)imgやjsやcssを呼び出す時。つまり、テーマディレクトリのパスを取得する時は・・・
<?php bloginfo('template_url'); ?> <img src="<?php bloginfo('template_url'); ?>/img/hogehoge.jpg" alt="ホゲホゲ"> /*imgの時はこんな感じ*/
(2)リンクを貼る時。つまり、サイトのURLを出力する時は・・・
<?php the_permalink() ?> <a href="<?php the_permalink() ?>/hogehoge">リンク</a>
if文を使って、特定のページでは別の物を表示させたりする方法。
※hタグの表示を「TOPページ」「ブログページ」と変えるとか・・・
※ブログページををAll in one SEO packの文章を「discription」に表示させるとか・・・
<?php if ( is_single() ) { // シングルページの場合 ?> <meta name="description" content="<?php echo get_post_meta($post->ID, _aioseop_description, true); ?>" /> <?php } else { // シングルページ以外の場合 ?> <meta name="description" content="<?php bloginfo('description'); ?>" /> <?php } ?>
※is_singleをis_pageに変えると、固定ページになります。
(1)ブログタイトルを呼び出す
<?php the_title(); ?>
(2)ページのタイトルを呼び出す。
<?php the_title_attribute(); ?>
(3)更新日時を呼び出す。
<?php the_time('Y年m月d日') ?>
※ちなみに、デフォルト(例2014/01/30)で表示する場合は
<?php the_date(); ?>
※「年」「月」「日」を個別に設定してレイアウトする場合は以下の記事が参考になります(今度やってみよ(・∀・))
[WordPress]投稿日時をおしゃれにカスタマイズ
(4)カテゴリを呼び出す。
<?php the_category(', ') ?>
(5)タグを呼び出す。
<?php the_tags('', ', '); ?>
(6)タグをリストで表示させる場合
<?php the_tags( '<ul><li>', '</li><li>', '</li></ul>'); ?>
(7)サムネイル画像(アイキャッチ画像)を呼び出す。
<?php the_post_thumbnail(); ?>
※ページ別に色んなサイズのサムネイル画像を呼び出す場合
function.phpに以下の表示させたいサイズを指定してclassをつける。
add_image_size( 'hoge', 220, 210, true ); //希望サイズ01 add_image_size( 'hogehoge', 150, 150, true ); //希望サイズ02
仮に220×210の方(hoge)を呼び出す時は・・・
<?php the_post_thumbnail('hoge');?>
(8)ブログ本文を指定の文字数だけ呼び出す。
例えば本文から文頭の20文字だけ抜き出す場合は・・・
<?php echo mb_substr(get_the_excerpt(), 0, 20); ?>
(1)一つ前の記事に戻る
<?php previous_post_link('%link', '◀古いNewsへ'); ?>
(2)次の記事へ飛ぶ
<?php next_post_link('%link', '新しいNewsへ▶'); ?>
(3)最新記事を表示させる
ここは、どこがどう命令してるのかイマイチ理解しきれてないので、後日キチンと調べますm(_ _)m
<?php $term_id = get_category_by_slug('news')->term_id; $posts = get_posts('category='.$term_id.'&numberposts=0'); global $post; ?> <h4>最新News一覧</h4> <ul id="topics"> <?php if($posts): foreach($posts as $post): setup_postdata($post); ?> <li><p class="topics_time"><?php the_time('Y年m月d日') ?></p> <p class="topics_title"><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></p></li> <?php endforeach; endif;?> </ul>
【参考にさせていただいたサイト様m(__)m】
特定のカテゴリーの記事のタイトルをリスト表示 | No:232 | Ri-mode Memo
function.phpに以下のコードを記述
function replaceImagePath($arg) { $content = str_replace('"https://webkcampus.com/wp-content/themes/webk_new/img/', '"' . get_bloginfo('template_directory') . '/img/', $arg); return $content; } add_action('the_content', 'replaceImagePath');
【参考にさせていただいたサイト様m(__)m】
WordPress固定ページの画像パスを自動的に取得する方法/他聞で駄文な感想文「排他的論理和」
もっと、PHPを理解しよう・・・。
けど、いい取っ掛かりになったとは思うので、これからどんどん覚えていこいうと思います。
以上、@Kc_fujiでしたm(_ _)m