2016-07-07 10 views
1

WordPressのページで関数呼び出しを行うためのベストプラクティスは何ですか?WordPressで関数呼び出しを行う適切な方法

たとえば、ホームページでmy_special_function();に電話する場合は、ファンクションコールを行う適切な場所(つまり、home-page.php/template-parts/content-page.phpなど)があります。

<?php if(function_exists(my_special_function)) { 
    my_special_function(); 
} ?> 

FYI Imはアンダースコアテーマを使用しています。

私はショートコードに関するいくつかのコメントを見ました。ショートコードを挿入したWPページテンプレートのようなものは、そのページの関数を呼び出すだけのベストプラクティスですか?

私は以下のページテンプレートに呼び出される関数を望んでいたのであれば、私はちょうど私がそのページのテンプレートにそれをしたい場所にショートコードを挿入したり、ただ単に関数を呼び出していることは十分であるかのベストプラクティス

<?php 
/** 
* Template Name: Home Page 
* 
* The template for displaying the home page. 
* 
* @link https://codex.wordpress.org/Template_Hierarchy 
* 
* @package Rollins_Ridge 
*/ 

get_header(); ?> 

    <div id="primary" class="content-area"> 
     <main id="main" class="site-main" role="main"> 

       // insert Shortcode 
       <?php echo do_shortcode('[special_function_shortcode]') ;?> 

       // or just call the function 
       my_special_function(); 

       // or something else im not aware of 
       code here; 

      <?php 
      while (have_posts()) : the_post(); 

       get_template_part('template-parts/content', 'page'); 

       // If comments are open or we have at least one comment, load up the comment template. 
       if (comments_open() || get_comments_number()) : 
        comments_template(); 
       endif; 

      endwhile; // End of the loop ?> 
     </main><!-- #main --> 
    </div><!-- #primary --> 
<?php 
get_footer(); 
+0

テーマの実装によって異なります。テーマの中には 'index.php'しかないものもあれば、' home-page.php'があるものもあります。あなたのテーマのルートディレクトリにあるPHPファイルは何ですか?加えて。現代のテーマには、ページビルダーが付属しています。ページビルダーは、どこに機能するのかを言うのが難しいです。 –

+0

もう1つは、機能を実行する適切な場所が自分のショートコードを作成することに慣れていない場合、テーマの代わりにショートコードをコンテンツに配置できることです。 –

+0

@MerianosNikosは応答に感謝します。 ImはUnderscoresのスターターテーマを使用しています。これまでは、私が呼び出したいページの "content-area" divに関数呼び出しを入れています。私はそれがこれを達成する最善の方法であるか、より適切な方法があるかどうかを疑問視していました。私はショートコードに慣れていませんが、ドキュメントを見ていきます。 – MoxDev

答えて

1

テーマのコアファイルを編集しないでください。 適切な方法は、子テーマディレクトリのfunctions.phpファイルを使用することです。

あなたは、このファイルにあなたの機能を追加し、任意の場所にサイト上でshortocdeを次

my_special_function(){ 

//Your content goes here. 

echo "This is proper way"; 

} 
add_shortcode('special_function_shortcode','my_special_function'); 

と使用のようなワードプレスのフック を使用してshortocdeを作成することができます。

in wordpress page use [special_function_shortcode] 
and in php use 
<?php echo do_shortcode('[special_function_shortcode]') ;?> 
+0

phpで直接関数を呼び出すだけで、do_shortcode関数を使う必要はありません。 – kunruh

+0

@kunruh私は通常、ページテンプレート内の関数を直接呼び出すだけですが、どのようにして行うべきかというベストプラクティスの方法を探していました。 – MoxDev

+0

@MoxDev自分で作成したPHPテンプレートで関数を使用する場合は、関数を直接呼び出すことをお勧めします。 – kunruh

関連する問題