WordPressPHPのガイド

公開: 2020-10-16

WordPress PHPを理解したいですか? この投稿では、PHPとは何か、WordPressでどのように機能するかを明らかにします。 PHPとそれがWordPressとどのように統合されるかを理解することは、サイトのメンテナンス、エラーのトラブルシューティング、および一般的なWordPress開発に役立ちます。

PHPとは何ですか?

Hypertext Preprocessorの略語であるPHPは、Webの約79%で使用されているスクリプト言語です。 PHPを使用すると、データベースとの対話、条件ステートメントの記述、WordPress固有の情報の取得、メディアファイルの取り込みなど、多くの強力な処理を実行できます。

WordPress PHP

ほとんどのWordPressコアファイルはこの言語で書かれているため、PHPはWordPressを強化するものです。 WordPress Webサイトのファイルリストを見ると、ほとんどのファイルが.phpで終わっていることがわかります。つまり、ファイルはPHPファイルです。 以下のスクリーンショットにリストされているWordPressPHPファイルのほとんどは、WordPressWebサイトが動作するために必要です。

WordPress php

PHPの仕組み:WordPressWebサイト

WordPressWebサイトでPHPがどのように使用されているかの実際の例を見てみましょう。 この例では、条件ステートメントを使用して、ユーザーがログインしているかどうかを判別します。

<?php
if ( true === user_is_logged_in() ) {   
   echo 'You are logged in!';
} else {
   echo 'You are not logged in! Please sign in.';
}

PHPの知識がなくても、ユーザーがログインしているかどうかを確認できます。条件付き(if / else)を使用して、ユーザーがログインしているかどうかを確認します。は、それらを歓迎するメッセージを表示し、そうでない場合は、サインインするように求めます。これは単なる基本的な例ですが、条件がどれほど強力であるかを確認できます。

関数「user_is_logged_in」を確認したことがわかります。 名前の後に括弧「()」が付いているので、これは関数であることがわかります。

関数がfalseを返す場合、コードを実行すると、次のメッセージが表示されます。

「あなたはログインしていません! サインインしてください。"

PHPとWordPress

上記の例から、PHPはWordPressのいたるところにあることがわかります。 WordPressには、表示される投稿の数を制御するループのようなサブシステムと、機能、API、テーマとプラグインを変更するフックがあります。

WordPress PHP:デバッグを有効にする

WordPressは、デフォルトでは、PHPによって生成されたエラー/警告を表示しません。 これは、本番環境にあるサイトにとっては良い習慣ですが、開発中の場合は、これを有効にする必要があります。 デバッグを有効にするには、WordPressのルートディレクトリにあるwp-config.phpファイルの次の行を変更するだけです。

define( 'WP_DEBUG', false );

定数WP_DEBUGをtrueに変更して、ファイルを保存するだけです。 非表示になっているエラーや警告が表示されます。これが必要なことです。

ループとクエリ

クエリは、ページに表示する投稿を収集するシステムであり、ループは各投稿を通過し、それに応じてそれらを表示するものです。 ホームページで、クエリは最新の投稿を検索し、最新の10件の投稿を取得します。 カテゴリページで、クエリは指定されたカテゴリから最新の10件の投稿を検索します。 クエリを変更して、必要な作業に使用することもできます。

例を見てみましょう:

<?php
 
if ( have_posts() ) {
    
   $i = 0;
 
   while ( have_posts() ) {
 
     $i++;
 
     if ( $i > 1 ) {
 
         echo '<hr class="post-separator styled-separator is-style-wide section-inner" aria-hidden="true" />';
 
       }
 
       the_post();
 
       get_template_part( 'template-parts/content', get_post_type() );
 
     }
 
} elseif ( is_search() ) {
 
?>
      
	<div class="no-search-results-form section-inner thin">
 
<?php get_search_form( array( 'label' => __( 'search again', 'twentytwenty' ) );
 
?>

コードは、関数「have_posts()」にループするデータがあるかどうかを確認することから始まります。 含まれている場合は、変数$ iを0に設定します。次に、 whileループを実行ます。これは、条件が真である(つまり、返すデータがある)限り実行されるループです。 最初に変数$ iを1「$ i ++;」だけインクリメントし、次に変数$ iが1より大きいかどうかをチェックする条件ステートメントを実行します。大きい場合は、投稿を区切るためのHTMLを表示します。 この後、関数「the_posts()」で投稿を取得し、関数「get_template_part()」で投稿の内容を表示します。

この条件が満たされない場合は、「is_search」関数を使用して、それが検索であったかどうかを判別します。 そうであった場合は、HTMLをレンダリングし、ユーザーに再度検索するように求める「get_search_form()」関数を実行します。

フック

WordPressは、開発者にコア機能を変更する機会を提供します。 ただし、コアファイルを変更する必要はありません。 これは開発のルール#1であり、単に悪い習慣です。 取り組んでいるプロジェクトによっては難しい場合もありますが、ここでフックが役立ちます。 WordPressはすべてフックに関するものであり、開発に使用される2つの主要なフックがあります。 これらの2つのフックは、アクションフックとフィルターフックです。 アクションフックを使用すると、カスタマイズされたコードを追加でき、フィルターフックを使用すると、使用する前にデータを変更できます。

wp_footerをカスタマイズして、テーマの終了bodyタグの前に独自のコードを追加しましょう。 テーマのfunctions.phpを開くと、次のコードを追加できます。

function ithemes_footer_code() {
   ?>
    
 
   <p>This is the footer.</p>
 
   <?php
}
add_action( 'wp_footer', 'ithemes_footer_code' );

// ---- END

// ---- BEGIN
if ( ! function_exists( 'ithemes_custom_length_excerpt' ) ) {
    function ithemes_custom_length_excerpt( $length ) {
        return 50;
    }
}
add_filter( 'excerpt_length', 'ithemes_custom_length_excerpt', 999 );

このコードは、「add_action()」関数に使用されるコールバック関数として使用される関数「ithemes_footer_code」を作成します。 この関数には、wp_footerで実行するコードが含まれています。 add_actionの最初のパラメーターとして、「wp_footer」を呼び出します。これは、このコードがフッターで実行されることを示します。 2番目のパラメーターはコールバック関数(先ほど作成した関数)であり、カスタムコードを実行します。 これはアクションフックの例です。

投稿の抜粋のカスタムの長さを変更してみましょう。 デフォルトでは、WordPressは57文字を表示しますが、文字数を多かれ少なかれ変更できます。

if ( ! function_exists( 'ithemes_custom_length_excerpt' ) ) {
    function ithemes_custom_length_excerpt( $length ) {
        return 50;
    }
}
add_filter( 'excerpt_length', 'ithemes_custom_length_excerpt', 999 );

まず、「function_exists()」関数の条件を記述して、作成している関数がすでに存在するかどうかを確認します。 存在しない場合は、関数を作成し、引数として$ lengthを取ります。 次に、値50を返します。この後、4つのパラメーターを保持できる「add_filter()」関数を実行しますが、使用しているのは3つだけです。 これはフィルターフックの例です。

まとめ:WordPress PHP

ご覧のとおり、WordPress PHPの基本と、PHPがWordPressコードベースにどのように実装されているかを学ぶだけで、サイトが実際に舞台裏でどのように実行されているかをよりよく理解できます。 PHPに関するビデオチュートリアルのいくつかをご覧ください:構文、WordPressのループおよびWordPressテンプレートタグ。

チェックリストPDFをダウンロードする:重要なWordPressメンテナンスチェックリスト
ダウンロード中
WordPress php