关注云服务器
相关知识分享

怎么在wordpress的文章或页面中运行PHP代码

最近有个项目需要在wordpress里运行php代码,可是在编辑器里输入php代码后,前台只会以文本的方式输出,非常不方便,根本实现不了我的需求。下面我们来看一下该怎么才可以实现在wordpress里运行php代码吧。

原理介绍

懂php的都知道,PHP中嵌入其他PHP文件可以用include() 或者 require() 函数,所以,为了实现在wordpress里运行php代码,我们可以把想要运行的php代码放进另一个php文件里,然后通过某种机制来调用,用下面的代码就可以实现。把这段代码放进主题的functions.php文件即可。

<?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/),下面我们来举个例看下怎么使用这段代码。

假如我想在文章中运行下面这段php代码,我就把这段代码放进一个php文件中,命名为test.php

<form method="post">
    <textarea name="string"><?php echo ( isset( $_POST['string'] ) ) ? $_POST['string'] : null ;?>
</textarea>
	<br />
	<input type="submit" name="submit" value="Reverse"/>
</form>
 
<?php
if ( isset( $_POST['submit'] ) && empty( $_POST['string'] ) ) {
	echo "Field should not be left empty";
} elseif ( isset( $_POST['submit'] ) && ( $_POST['string'] ) ) {
	echo '<div>Copy Result</div>';
	echo '<textarea>';
	echo htmlspecialchars( strrev( $_POST['string'] ) );
	echo '</textarea>';
}

然后用ftp工具在多媒体文件的上传路径(默认为/wp-content/vc/uploads/)新建一个php-content 文件夹(集中放这些php 文件,方便管理), 将 test.php 放到里头去。

这个时候,我们在wordpress编辑器里学文章的时候用下面的短代码插入短代码
[phpcode file="test"]
这样就可以运行相应的test.php文件喽~~

赞(1) 打赏
未经允许不得转载:云测速 » 怎么在wordpress的文章或页面中运行PHP代码

觉得文章有用就打赏一下文章作者吧~

微信扫一扫打赏