Web制作のフリーランスを目指すためのBlog

30歳ママが公務員を辞めてWeb制作で開業するまでの道のり。スタートは主に勉強した内容のMEMOとして。参考書籍なども紹介していく予定です。

備忘録

ペラページでアンカーリンクをつける構成のときは、各セクションのタイトルにpadding-topをつける。リンク先に飛んだときにセクションタイトルがヘッダー下に隠れないようにするため。

中央にコンテンツを寄せるときは基本的にdivでくくってmargin: 0 autoで対応する。padiingだけで対応しないこと。あとから余白の修正が入ったときに修正しやすくするため。

widthを%で指定して可変、レスポンシブ対応するときはmax-width、min-widthをつける。意図しない大きさになるのを防ぐため。

letter-spacingはマイナスを使わない。ブラウザによってはとても見にくくなってしまうため。

自作HTMLをWordPress化する手順

1. style.cssの内容に以下の情報を記載

@charset "UTF-8";
/*
Theme Name: テーマ名
Description: This is our original theme.
Version:1.0
*/

2. 全ての画像のパスを修正

例)サイトロゴの場合

<img src="img/logo.png" alt="サイト名">

<img src="<?php echo get_template_directory_uri(); ?>/img/logo.png" alt="<?php bloginfo('name'); ?>">

※ bloginfo('template_url')は非推奨となっているので、echo get_template_directory_uri()を使用する。


2017.9.1 非推奨タグ一覧(bloginfo)

1 <?php bloginfo('stylesheet_url'); ?>
2 <?php bloginfo('stylesheet_directory'); ?>
3 <?php bloginfo('template_url'); ?>
4 <?php bloginfo('template_directory'); ?>
5 <?php bloginfo('url'); ?>
6 <?php bloginfo('wpurl'); ?>

これらはそれぞれ、下記のタグを使うこと。

1 <?php echo get_stylesheet_uri(); ?>
2 <?php echo get_stylesheet_directory_uri(); ?>
3 <?php echo get_template_directory_uri(); ?>//親テーマの場合
4 <?php echo get_stylesheet_directory_uri(); ?>//親テーマの場合
5 <?php echo home_url(); ?>
6 <?php echo site_url(); ?>

コーディング完了後のチェックリスト

head

□ meta、titleの内容に誤りがないか

□ viewportの設定がされているか

□ 不要なlink、scriptが入っていないか

□ UAタグがある場合はリンク先が間違っていないか

 

body

□ 全てのimgタグに正しいaltが入っているか

□ タグの閉じ忘れなどがないか

□ 誤字脱字がないか

□ font-size、font-familyはデザイン通りに指定されているか

□ 全角・半角は統一されているか

 

□ リンク切れがないか(テストサーバーで全てのリンク先を確認すること)

 

その他

□ バリデーターでチェックする https://validator.w3.org/nu/#file

□ chromeの検証機能でエラーがないか確認する

Basic認証

Basic認証とは?

特定の人々にのみwebサイトを公開したい場合などに使う認証機能。IDとパスワードの入力を求めることができる。仲間内で共有したい時や、テストでクライアントにwebサイトを見せる時に便利。

基本的なやり方

1. 「htaccess.txt」という名前でテキストエディター等でファイルを作る。内容は下記をコピペ。

AuthUserFile /home/hogehoge/.htpasswd

AuthGroupFile /dev/null

AuthName "Please enter your ID and password"

AuthType Basic

require valid-user

 

補足説明

AuthUserfile /フルパス/.htpasswd

サーバーのルートディレクトリからの.htpasswdへのパス。フルパス。(※)

AuthGroupfile /dev/null

グループごとにアクセスを許可する、という指定。「/dev/null」とは、そのようなファイルは存在しないという意味つまりグループごとでのアクセス制限はしないという意味。

AuthName "Please enter your ID and password"

ダイアログに表示される文章を指定。日本語だと文字化けする。

AuthType Basic

AuthTypeを指定。「Basic(ベーシック認証)」と「Digest(ダイジェスト認証)」の2種類がありDigestのほうが安全。

require valid-user

ユーザーが誰であろうと、入力したIDとパスワードが合っていればアクセスできるという意味。特定ユーザーだけにアクセスさせたい場合は「require user xxx」などとする。

 

レンタルサーバーのフルパスを調べる方法

テキストエディター等で下記の内容のphpファイルを作成し、サーバーにアップロード。

<? php echo __FILE__; ?>

インターネットで上記のファイルにアクセスすると、ディレクトリまで表示がされる。

 

2. 「htpasswd.txt」という名前でテキストエディター等でファイルを作る。内容は下記のように、ID:パスワードとする。IDとパスワードは複数指定可能。パスワードは暗号化ツールを使う。

john:joFWnPF2bJhPc

david:daS0keuySWUDg

www.luft.co.jp

 

3. 「htaccess.txt」と「htpasswd.txt」をサーバーへアップロードし、名前をそれぞれ「.htaccess」「.htpasswd」に変更する。

PHP foreach

foreach文で「キー」と「値」を取り出す

foreach ( 配列変数 as キー変数 => 値変数 ) :

 実行する処理;

endforeach;

 

または

 

foreach ( 配列変数 as キー変数 => 値変数 ){
 実行する処理1;
 実行する処理2;
}

 

(例)

<?php

 $cat_list = array(

  'カテゴリー1' => 2,

  'カテゴリー2' => 2,

  'カテゴリー3' => 2,

 );

 

 foreach ($cat_list as $cat_name => $cat_num) :

  $sidebar_posts = new WP_Query('posts_per_page=' . $cat_num . '&category_name=' . $cat_name);

?>

ループ(略)

<?php

 wp_reset_postdata();

endforeach;

?>

PHP シングルクォート(')とダブルクォート(")の違い

シングルクォート(')とダブルクォート(")の違い

どちらも文字列を囲むが、中身の変数の扱いに違いがある。

 

【シングルクォート】

クォート内の変数($〇〇)も文字列として扱われる。

(例)

<?php

 $title = "こんにちは"

 echo '<h1>$title</h1>';

?>

→ <h1>$title</h1>と出力される

 

【ダブルクォート】

クォート内の変数($〇〇)は変数として扱われる。

(例)

<?php

 $title = "こんにちは"

 echo "<h1>$title</h1>";

?>

→ <h1>こんにちは</h1>と出力される

 

PHP 配列とは

配列

 

変数が多く煩雑にならないように配列を使用する。

 

(例)

<?php

 $sunday = '日';

 $monday = '月';

  :(略)

 $saturday = '土';

?>

 

これを配列で記述すると↓

 

<?php

 $week = array('日','月','火','水','木','金','土');

?>

 

 【配列の書き方】

$配列名 = array('値1','値2','値3';)

【配列の値の呼び出し方】

$配列名[数字] ※この数字を「添字」または「キー」と呼ぶ。

 

要素の番号は「0」から始まるため、$weekの配列の「月」を呼び出したい場合は$week[2]ではなく$week[1]と指定する。

 

(例1)

<?php $week = array('日','月','火','水','木','金','土'); ?>

<?php echo $week[4]; ?>

→ 木 と出力される

 

(例2)

<?php

 $img = array(

     'http://example/sample.jpg',

     '500',

      '350',

 );

?>

<img src="<?php echo $img[0] ?>" width="<?php echo $img[1] ?>" height="<?php echo $img[2]; ?>">

→ <img src="http://example/sample.jpg" width="500" height="350"> と出力される。

 

連想配列

上記のように配列を数字で管理すると、どの数字が何を示すのかがわかりにくいため、各要素に名前をつけて管理しやすくする。

 【連想配列の書き方】

 

$配列名 = array(

      '要素名A' => '値1',

      '要素名B' => '値2',

      '要素名C' => '値3',

);

※「=>」はダブルアローという。連想配列に要素名(キー)と値を指定するときに使用。比較演算子とは異なるので注意。要素名と値は文字列の扱いになるため、シングルクォート(')で囲むこと。

 【連想配列の呼び出し方】

$配列名['要素名']

 

(例)

<?php

 $img = array(

      'url' => 'http://example/sample.jpg',

      'width' => '500',

      'height' => '350',

 );

?>

 <img src="<?php echo $img['url'] ?>" width="<?php echo $img['width'] ?>" height="<?php echo $img['height']; ?>">

→ <img src="http://example/sample.jpg" width="500" height="350"> と出力される。

 

配列に要素を追加する

$配列名[ ] = '値'; ※通常の配列(数字で管理)

$配列名['要素名'] = 値; ※連想配列(要素名で管理)

 

(例1)

<?php

 $week = array('日','月','火','水','木','金');

 $week[] = '土'; ※[ ]内に内も記述しなければ、配列の最後に追加される。

?>

→指定された配列の結果としては<?php $week = array('日','月','火','水','木','金','土'); ?>と同様になる。仮に $week[0] = '土'; とした場合は、先頭に「土」が追加されるのではなく「日」が「土」に上書きされてしまう。

 

(例2)

<?php

 $img = array(

      'url' => 'http://example/sample.jpg'

 );

 $img['width'] => 500,

 $img['height'] => 350; ※ここは数値なのでシングルクォート(')は不要。

?>

→$imgの連想配列に 'width' => '500' と 'height' => '350' が追加されたことになる。