MoxDev
MoxDev

Reputation: 51

Proper way to make function calls in WordPress

What is best practice for making a function call on a wordpress page?

For instance if you want to call my_special_function(); on the home page, where is the proper place to put the function call (ie home-page.php, /template-parts/content-page.php etc.).

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

FYI Im using Underscores theme.

I've seen a few comments regarding shortcode. Would something like the below WP page template with the shortcode inserted be a best practice over just calling the function on that page?

So if I wanted the function to be called in the page template below I would just insert the shortcode wherever I want it on that page template or just is just calling the function is sufficient or best practice

<?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();

Upvotes: 1

Views: 89

Answers (1)

Dnyanesh
Dnyanesh

Reputation: 51

Don't edit themes core files. the proper way is using functions.php file in child theme directory.

you can add your function in this file and create shortocde using wordpress hook like

my_special_function(){

//Your content goes here.

echo "This is proper way";

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

and use following shortocde anywhere on site.

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

Upvotes: 1

Related Questions