2016-07-07 5 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

Другие считают, что если вы не знакомы с тем, что является правильным местом для запуска функции, это создать свой собственный короткий код, а затем вы можете поместить короткий код в свой контент вместо темы. –

+0

@MerianosNikos благодарит за ответ. Я использую тему стартеров Underscores, и до сих пор я только что вводил вызовы функций в div «content-area» на той странице, на которой я хотел позвонить. Я просто задавался вопросом, лучший ли это для этого или если есть более правильный путь. Я не очень хорошо знаком с коротким кодом, но я посмотрю на документы. – MoxDev

ответ

1

Не редактируйте файлы основных тем. Правильный способ использования файла functions.php в каталоге дочерних тем.

вы можете добавить свою функцию в этом файле и создать shortocde с помощью WordPress крюка как

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