WordPress网站中用短代码运行PHP脚本的方法

WordPress网站如果在页面或文章的编辑器中直接输入PHP 代码,WordPress是不会执行这段代码的。那么有什么方法可以实现呢?下面的文章就来介绍WordPress网站中用短代码运行PHP脚本的方法。

为了实现在WordPress 的文章或页面中运行PHP 代码,我们可以将打算运行的代码写入一个单独的PHP 文件中,放在某个目录下,然后用短代码的方式,通过include() 或者 require() 函数载入上面的这个PHP文件。

方法步骤:

1.编辑主题的functions.php文件

找到主题目录的functions.php文件
一般位于 /www/wwwroot/网站域名/wp-content/themes/主题名称/functions.php

加入如下代码:
  function php_include( $attr ) {
    $file = $attr[‘file’];
    $upload_dir = wp_upload_dir();
    $folder = $upload_dir[‘basedir’] . ‘/php-content’. “/$file.php”; 
    ob_start();
    include ( $folder );
    return ob_get_clean();
}
add_shortcode( ‘phpcode’, ‘php_include’ );

上面代码中的变量 $upload_dir[‘basedir’]
指的是WordPress 中文件的上传路径(默认为/wp-content/uploads)
我们在/wp-content/uploads这个目录下,新建了一个目录/php-content,专门用来存放我们要运行的PHP代码

2.编写要运行的PHP代码文件

假如我想在页面或文章中运行下面这段php代码,我就把这段代码放进一个php文件中,就取名为url-form.php吧

<?php
$utime = time();
if(isset($_POST[‘submit’]))
  {
    $cmd2 = “you-get -o onlyget/ -O $utime “.$_POST[‘website’];
    passthru($cmd2, $status);
    //echo “cmd2zhuangtaima”.$status; 
 }
?>

<form action=”<?php echo htmlentities($_SERVER[‘PHP_SELF’])?>” method=”post”>
      <input type=”text” name=”website” id=”website”><br>
      <br>
    <button type=”submit” name=”submit” style=”color:#ffffff”>Submit</button>
</form>
<br>
<a href=”dl.php?action=download&fname=<?php echo $utime?>” style=”color:#ffffff”> <button>Download</button> </a>

然后将url-form.php放到/php-content 文件夹里

3.调用

这个时候,我们在WordPress编辑器里写文章的时候用下面的语句插入短代码
[phpcode file=”url-form”]
这样就可以运行相应的url-form.php文件啦。
效果就像下面这样