get variables data from functions.php to template wordpress (without global variables)

I have in wordpress functions.php fileThis sample works with one variable only, but i want multiple variablesfunction

I have in wordpress functions.php file

This sample works with one variable only, but i want multiple variables

function variables() {
   $var1 = 'lorem';
    return $var1;
}

in the front template results "lorem":

echo variables();

works fine, but if i have many variables how can i displayed it?

example:

echo variables('var1');
echo variables('var2');
echo variables('etc');

i found a solution using global variables, but i don't like use that.

edit:

in functions.php add variables :

$some = "lorem 1"
$some2 = "lorem 2"
$some3 = "lorem 3"

then display in theme

<?php echo some(); ?>
<?php echo some2(); ?>
<?php echo some3(); ?>

I have in wordpress functions.php file

This sample works with one variable only, but i want multiple variables

function variables() {
   $var1 = 'lorem';
    return $var1;
}

in the front template results "lorem":

echo variables();

works fine, but if i have many variables how can i displayed it?

example:

echo variables('var1');
echo variables('var2');
echo variables('etc');

i found a solution using global variables, but i don't like use that.

edit:

in functions.php add variables :

$some = "lorem 1"
$some2 = "lorem 2"
$some3 = "lorem 3"

then display in theme

<?php echo some(); ?>
<?php echo some2(); ?>
<?php echo some3(); ?>
Share Improve this question edited Jul 12, 2020 at 2:53 Chris asked Jul 12, 2020 at 2:46 ChrisChris 32 bronze badges 2
  • What are you actually trying to do? – Jacob Peattie Commented Jul 12, 2020 at 2:50
  • edited, sorry please refresh – Chris Commented Jul 12, 2020 at 2:53
Add a comment  | 

1 Answer 1

Reset to default 0

You have to think into the opposite direction: Don't pull the variables from the template, push them into it. Templates should be as simple as possible, the shouldn't know anything about the content of the rest of your code, for example function names.

In other words: use hooks.

In your template:

// the numbers are just context examples
do_action( 'something', 'one' );
do_action( 'something', 'two' );
do_action( 'something', 'three' );

In your functions.php, you add a callback to that action:

// 1, 2, 3 are your variables
add_action( 'something', function( $context ) {
    switch ( $context )
    {
        case 'one':
            echo 1;
            break;
        case 'two':
            echo 2;
            break;
        case 'three':
            echo 3;
            break;
        default:
            echo 'Context parameter is wrong!';
    }
});

You can of course also echo more than one line and do some more complex stuff in the callback handler.

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1742270447a4412597.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信