WordPressでよく使うカスタマイズや出力コード

子テーマのjsファイルを読み込む

子テーマのfunctions.phpにて親テーマのjs子テーマのjsという順番で読み込み順を指定することで、ファイルとしては2つとも出力されるが、後から読み込んだ子テーマのjsの方が適用されることで上書きできるようだ。

// 子テーマの function.php の theme_enqueue_styles() の下とかに追記

function theme_enqueue_scripts() {
  //親テーマのsample.js
	wp_enqueue_script(
    'parent-func', // ハンドル名。ここは親テーマに書いてあるハンドル名と揃える
    get_template_directory_uri() . '/js/sample.js',
    array(), // $deps, 依存関係。よく 'jquery' とかが入る
    null // $ver か $in_footer のどちらかだけど、なぜfalseじゃなくてnullなのかは不明
  );
  //子テーマのsample.js
  wp_enqueue_script(
    'child-func', // 親テーマの
    get_stylesheet_directory_uri() . '/js/sample.js',
    array( 'parent-func' ), // ここで親テーマのjsに依存関係を持たせるらしい
    null
  );
}
add_action( 'wp_enqueue_scripts', 'theme_enqueue_scripts' );

ただ親テーマで読み込んでいるファイル群すべてを子テーマ側でも呼ばないと不具合が起きるらしい‥。いつもダイナシイエスタデイさんの記事に辿り着くが、この記事この記事の2つがあるので注意。また記事の上部にあるコードをパットコピペしたりせず、ちゃんと文章読みましょう。

<?php wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer ); ?>

https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_enqueue_script

https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_dequeue_script

ACFの出力

テキスト

<?php if (get_field('text_field_name')) {												 
    echo the_field('text_field_name');
} ?>

画像

返り値のフォーマット:画像ID

<?php
    $img = get_field('image_field_name');
    $img_urls = wp_get_attachment_image_src($img, 'full');
    if ($img_urls) { ?>
        <img src="<?php echo $img_urls[0]; ?>" alt="">
    <?php } 
?>

ただしレスポンシブ画像としての出力はしてくれない。

(thumbnail, medium, large, full)または2つのアイテムを持つ配列が幅と高さをピクセルで、array(32,32)という形で表します

https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_get_attachment_image_src#.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF

array指定が効いてくれなかったのは、元のアスペクト比と違う比率を指定したからか?

MW WP Form プラグインのデザイン

PCデザイン
モバイルデザイン

MW WP Form に記述するもの

// フォームHTML
<ol class="form_step">
    <li>入力</li>
    <li>内容確認</li>
    <li>完了</li>
</ol>
<table class="mailform-tbl">
<tbody>
<tr>
<th>お名前 <span class="attention">※</span></th>
<td class="w50">[mwform_text name="name"]</td>
</tr>
<tr>
<th>フリガナ<span class="attention">※</span></th>
<td class="w50">[mwform_text name="kana"]</td>
</tr>
<tr>
<th>電話番号</th>
<td class="w50">[mwform_text name="tel"]</td>
</tr>
<tr>
<th>メールアドレス <span class="attention">※</span></th>
<td class="w50">[mwform_text name="mail"]</td>
</tr>
<tr>
<th>お問い合わせ内容 <span class="attention">※</span></th>
<td class="w80">[mwform_textarea name="message" placeholder="ご質問・ご相談など、お気軽にお問合わせください"]</td>
</tr>
</tbody>
</table>
<p id="submit-button">[mwform_submitButton preview_value="確認画面へ" submit_value="送信する"]
[mwform_backButton value="戻る"]</p>
// 完了画面HTML
<ol class="form_step">
    <li>入力</li>
    <li>内容確認</li>
    <li>完了</li>
</ol>
<div>
<p>お問い合わせありがとうございます。ご入力いただいたメールアドレスに自動返信メールをお送り致しました。</p>
<p>メールが届かない場合や、2〜3日経っても連絡がない場合は、お手数ですがお電話(00-0000-0000)までご連絡をお願いいたします。</p>
<a class="btn home" href="/">TOPページに戻る</a>

固定ページ側に記述するもの

現状では固定ページ側に WP Add Custom CSS プラグインなどでカスタムCSSを追加できるようにして、そこに記述している。だけど、入力・確認・エラー画面それぞれに同じCSSを追記するので変更がある際など管理しづらい。何かいい方法あったらコメントで教えてほしく。

// フォームのデザイン
.mw_wp_form {
    width: 100%;
    color: #333;
}

.mw_wp_form table.mailform-tbl {
    width: 100%;
    margin-bottom: 40px;
}

.mw_wp_form table tr {
    width: 100%;
    border-bottom: 1px dotted #ccc;
    padding: 30px 0;
    font-weight: normal;
}

.mw_wp_form table tr:first-child {
    border-top: 1px dotted #ccc;
}

.mw_wp_form table th {
    padding: 20px 0;
    text-align: left;
    vertical-align: top;
    font-weight: normal;
    width: 30%;
    float: left;
}

.mw_wp_form table th .attention {
    font-size: 80%;
    margin-left: 10px;
    color: red;
    padding: 3px;
}

.mw_wp_form table td {
    padding: 20px 0;
    width: 70%;
    float: left;
}

.mw_wp_form table td.w50 input,.mw_wp_form table td.w50 select {
    width: 50%;
    box-sizing: border-box;
}

.mw_wp_form table td.w80 input,.mw_wp_form table td.w80 select {
    width: 80%;
    box-sizing: border-box;
}

.mw_wp_form table td.w80 textarea {
    width: 80%;
    box-sizing: border-box;
}

.mw_wp_form #submit-button input {
    margin: 0 auto;
    display: block;
    padding: 10px 30px;
    border: 1px solid #333;
    background: #333;
    color: #fff;
    box-sizing: border-box;
    height: 40px;
    -webkit-appearance: none;
    border-radius: 5px;
    font-size: 90%;
}

@media screen and (max-width: 599px) {
    .mw_wp_form table td {
        width: 65%;
        float: right;
    }

    .mw_wp_form table td.w50 input,.mw_wp_form table td.w50 select {
        width: 100%;
        box-sizing: border-box;
    }

    .mw_wp_form table td.w80 input,.mw_wp_form table td.w80 select {
        width: 100%;
        box-sizing: border-box;
    }

    .mw_wp_form table td.w80 textarea {
        width: 100%;
        box-sizing: border-box;
    }

    .mw_wp_form #submit-button input {
        margin: 0 auto;
        display: block;
        padding: 10px 30px;
        border: 1px solid #333;
        background: #333;
        color: #fff;
        box-sizing: border-box;
        height: 40px;
        -webkit-appearance: none;
        border-radius: 5px;
        font-size: 90%;
    }
}

// フォームステップのデザイン
.mw_wp_form .form_step {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 20px 0;
    list-style: none;
}

.mw_wp_form .form_step > li {
    display: block;
    position: relative;
    padding: 0.5em;
    width: 22%;
    border: 1px solid currentColor;
    color: #C19E56;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    margin: 0;
}
.mw_wp_form .form_step > li:nth-of-type(n + 2) {
    margin: 0px 0px 0px 4%;
}
.mw_wp_form .form_step > li:nth-of-type(n + 2):before {
    position: absolute;
    top: 50%;
    left: -1.5em;
    width: 0.5em;
    height: 0.5em;
    border-top: 2px solid #C19E56;
    border-left: 2px solid #C19E56;
    transform: translateY(-50%) rotate(135deg);
    content: "";
}

.mw_wp_form_input .form_step > li:nth-of-type(1),
.mw_wp_form_preview .form_step > li:nth-of-type(2),
.mw_wp_form_complete .form_step > li:nth-of-type(3) {
    background-color: #C19E56;
    color: #fff;
}

@media screen and (max-width: 599px) {
    .mw_wp_form .form_step > li {
        font-size: 10px;
        width: 30%;
    }
}

ちなみに完了画面にはフォームはないので、フォームステップのCSSだけ記述すれば良い。

自動返信メール本文

// 自動返信メール本文

{name} 様

以下の内容でお問い合わせを受け付けました。内容を確認させていただき次第、ご返信させていただきます。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【お名前】
{name}({kana})様

【電話番号】
{tel}

【メールアドレス】
{mail}

【お問い合わせ内容】
{message}

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


ご質問内容によっては、お返事にお時間がかかる場合や、お返事できない場合もございますので、何卒ご了承ください。
------------------------------------------------------------
株式会社サンプル商事
TEL: 03-0000-0000
info@sample.com
https://sample.com/
------------------------------------------------------------

管理者宛メール本文

// 管理者宛メール本文

以下の内容でお問い合わせがありました。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【お名前】
{name}({kana})様

【電話番号】
{tel}

【メールアドレス】
{mail}

【お問い合わせ内容】
{message}

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

※本メールはお問合せがあった際の自動配信メールです。
ご対応よろしくお願いいたします。

https://lifestylecreators.net/3242/#MW_WP_FORM_CSS

https://migi.me/wordpress/mw-wp-form-style-responsive/

Commentsこの記事についたコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です