プログラミング初心者、WordPress始めます！その８

## 自己紹介
プログラミング初心者です。
使用OSは主にwindows、開発環境はxamppでローカルサーバーを立ち上げての作業になります。
HTML少々、CSS少々、JavaScript少々、PHP少々。と、どれも少々です。
そんな私ですが、とりあえずものにしたいと思い手を付けたのが**WordPress**
プログラミング超初心者なのでプログラミングを理解している方たちが説明しているサイトの説明の理解に苦しむことがありますｗ
僕と同じように超初心者の方が始めるときにほんの少しだけでも参考になれば幸いです。
お勉強のメインはドットインストールさんの動画を基点にネット検索などで行っていこうかと思っております。
超々初心者なので間違った情報等ありましたら優しく教えていただけると嬉しいです。

## 個別記事の設定
個別記事の設定には**single.php**というものを使用する様です。ここまでの設定にはまだ**single.php**というファイルは作っておりませんでしたので新たに作ります。
ここで僕にとっては不思議なことが起きました。

**class="navigation"の中の記述をループの中に入れる必要がある。**との説明があるのです。

いや、最後までドットインストールさんを見ながら勉強すればわかるのかもしれませんが、何せ理屈を知りながら学んでいきたい僕なので少し戸惑いが生じてしまいます。

先程はループ処理の外で使いましょうと言っていたclass="navigation"の中の記述をループの中に入れる理由がちょっとわかりません。

とは言えとにかくやってみましょう。

![single.png](https://qiita-image-store.s3.amazonaws.com/0/155272/494c0394-9819-c602-a015-35b685fb8207.png)
うまくいっていました。
と、ここでなんかわかった気がしました。

先程までの**index.php**では記事の一覧を表示させた後に次ページ・前ページへのリンクを設定する必要があったのに対し、今回の**single.php**では記事の中に次ページ・前ページへのリンクを設定する必要があるってことなんですね？
間違っていたらスイマセン。

## 固定ページの設定
今度は**page.php**というファイルを新たに作って固定ページの設定を行っていきます。
先程は**index.php**をコピーして作りましたが、今度は**single.php**の方がより構造が似ているという事でこちらをコピーしてファイルを作っていきます。

まずはいらない情報を削除していきます。
固定ページに時系列は必要ないので**class="post-meta"**の所はまるまる削除します。
更に次ページ・前ページの概念も基本的には固定ページにはないのでこちらも削除していきます。

結果、**page.php**はこうなりました。

```php:page.php
<?php get_header(); ?>
        <div id="main" class="conteiner">
            <div id="posts">

                <?php
                if(have_posts()) :
                    while(have_posts()) :
                        the_post();
                ?>
                <div class="post">
                    <div class="post-header">
                        <h2>
                            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                        </h2>
                    </div>
                    <div class="post-content">
                        <?php the_content(); ?>
                    </div>
                </div><!-- post -->
                <?php
                    endwhile;
                else:
                ?>

                <p>ページ記事はありません</p>

                <?php
                endif;
                ?>
            </div><!-- posts -->
            <?php get_sidebar(); ?>
        </div><!-- main -->
<?php get_footer(); ?>
```
試しに固定ページである「プロフィール」を開いてみると…

![page.png](https://qiita-image-store.s3.amazonaws.com/0/155272/2b760a60-65c8-6909-46c8-b7616beeff43.png)
まぁ…なんともそもそもうまくいっているかどうか微妙なラインの固定ページの設定をしてしまっていたのですが、うまくはいってます。


## ショートコードの作成
ショートコードとはよく使う機能などを**functions.php**に登録しておくと呼び出し簡単！みたいなやつの様です。
例えば…Twitterのリンクに関してのショートコードを作成するのなら

```php:functions.php
function shortcode_tw(){
    return `<a href="https://twitter.com/ukkari_ukachan">@ukkari_ukachan</a>をフォロー！`;
}

add_shortcode('tw', 'shortcode_tw');
```
上の**function**で動作を決定、下の**add_shortcode**で登録。という流れの様です。
第１引数で呼び出したい文字列、第２引数で何のfunctionを呼び出したいのかを決める。といった流れです。
登録したショートコードは記事の投稿時に[]の中に呼び出したい文字列を入れればOKの様です。
ひとまずやってみます。

![shortcode.png](https://qiita-image-store.s3.amazonaws.com/0/155272/6b4dd6b2-f18d-7a96-c7b0-47905d59e2c5.png)
こう書いてみると…

![shortcode2.png](https://qiita-image-store.s3.amazonaws.com/0/155272/2bdd1c1e-4c03-6c7c-1438-a723346246a8.png)
うまくいってませんｗ

何故でしょう？原因を探ってみます。
どうやら記述内に誤字はありません。
記事の中でもきちっと半角の[]で呼び出しを指定しております。


何を間違ったのやらいくらやり直してもうまくいきません。。。

ここで一旦気持ちを切り替えて別なショートコードを作成してみました。

```php:functions.php
function hogeFunc(){
    return 'ショートコードテスト';
}

add_shortcode('hoge', 'hogeFunc');
```

これだと…

![shortcode3.png](https://qiita-image-store.s3.amazonaws.com/0/155272/76353857-80a7-97e9-95e0-4c40f377bf48.png)
うまくいきました。という事は、やり方自体は間違っていない。さらにという事は…
きっと中身が間違っているんですね。
もう一度見直してみましょう。

と、ここで何か違和感が…

うぉおー。痛恨のミス！
シングルクォーテーションとバッククォートを間違っておりました。僕のミスですが費やした数時間がものすごくもったいなく感じました。。。

無事、うまくいきました。

![shortcode4.png](https://qiita-image-store.s3.amazonaws.com/0/155272/d6b1ad24-f24d-38dd-cc8c-f89a86c0a945.png)

という事でこの**ショートコード**ってやつはかなり使えそうなのでWordPressでは必須な気がします！二度と間違えないように肝に銘じます！
ちなみにこの**ショートコード**をテーマの中で使うためには

```php:anythemes.php
<?php echo do_shortcode('[tw]'); ?>
```

こんな風にやるみたいですね。

という事でドットインストールさんの動画からのWordPressのお勉強は終わってしまいましたので、ここからは本格的にサイトを作るとして僕がプログラミングを覚えたての頃に作ったExcelVBAのサイトをWordPressに移植していこうかと思います。

ひとまずは長々と書いてきた僕のWordPressの連載的なものは終了しようかと思います。
最後までお読みいただきありがとうございました。
また、サイトが仕上がってきたら更新すると思いますのでその際はお読みいただけると幸いです！


[<<プログラミング初心者、WordPress始めます！その７](http://qiita.com/ukkari_ukachan/items/c4eeaeb5ff23ddac96d1)