排队包含PHP变量的WP脚本

时间:2017-04-29 00:23:03

标签: php wordpress

我试图找出你是否可以在Wordpress中排队一个包含php变量的脚本。如果可能的话怎么办呢?

我试过这个,但是我收到了错误。

from collections import defaultdict
candidates_and_votes = defaultdict(dict)
while True:
     candidateName = input("Please input the candidates name or type 'DONE' when finished:")
     if candidateName == 'DONE':
         break
     departmentName = input("Please input the department that submitted votes for this candidate:")
     numberOfVotes = input("Please input the number of votes for this candidate:")
     candidates_and_votes[candidateName][departmentName] = numberOfVotes

for candidate, department in candidates_and_votes.items():
    total = 0
    print('Candidate Name {}'.format(candidate))
    for dep_name, number in department.items():
        print('  Dep {}. total {}'.format(dep_name, number))
        total += int(number)
    print('     Total Votes = {}'.format(total))

2 个答案:

答案 0 :(得分:2)

你的问题有点含糊不清。

  1. 如果要包含PHP文件,请在PHP文件中使用include_oncerequire_once
  2. 如果要包含JavaScript文件,请使用wp_enqueue_script。你的代码应该是这样的:

    wp_enqueue_script(
        'custom-script',
        get_stylesheet_directory_uri() . '/masonry.js',
        array( 'jquery' )
    );
    

    此外,如果要在JS文件中使用PHP变量,请使用wp_localize_script

    排队后,请使用以下行:

    $name = "my_name";
    $params = array('name' => $name);
    wp_localize_script( 'custom-script', 'OBJECT', $params );
    

    在您的masonry.js中,使用OBJECT.name获取值。

答案 1 :(得分:1)

  1. 在您的php文件中名为masonry.php
  2. <?php header('Content-type: application/javascript'); $php = 'Hello World'; echo "alert('$php');";

    然后将你的php链接/排队,好像它是一个javascript文件:

    wp_enqueue_script( 'custom-script', get_stylesheet_directory_uri() . '/masonry.php', array( 'jquery' ) );

    1. 您可以使用wp_add_inline_script Value打印内联代码。