众所周知,WordPress是一个非常流行的CMS,它的易用性、用户界面和功能强大,都足矣让我们搭建各种类型的网站,这是面向开发者和程序员的特点,但是作为用户,可以感觉没有什么区别了。
作为一个PHP开发者和博主,有次我想在一篇文章中执行一行PHP代码。默认情况下,你不能在WordPress文章和网页执行PHP(虽然你可以这样做的HTML、CSS和JavaScript)。
由于WordPress不解析PHP的文章和单页,我通常会创建一个PHP文件,然后链接到它在我的文章。
在这两部分组成的系列中,我们将看看如何执行PHP从WordPress的文章和网页。
在本系列的第一部分,我将解释的过程,需要执行PHP在帖子页面。在本系列的第二部分,我们将在一些演示代码要如何真正做到这一点。
工作原理
你知道,include() 或者 require() 用于引入随意执行PHP代码现有模板内。
同样,在WordPress的文章和单页执行PHP,我们将创建一个在我们的WordPress的安装目录下的文件夹包含要执行的PHP代码文件,然后我们将包含文件的文章或者网页使用theshortcodes plugin,我们将在这一系列的教程。
简码插件
这是不可能的使用 include()或 require()功能包括和执行PHP文件后类型在WordPress因为代码是不解析PHP时,通过自定义WordPress默认的TinyMCE编辑器,然而,使用短代码,我们可以做到这一点。
演示如何做到这一点,让我们创建一个插件。
1、引入插件的头部
插件头部,这是一个PHP的注释块,这是允许WordPress识别和读取我们的插件。
<?php
/*
Plugin Name: Run PHP code in Post & Page
Plugin URI: http://code.tutsplus.com
Description: Run PHP code in WordPress
Author: Agbonghama Collins
Version: 1.0
Author URI: http://tech4sky.com/
*/
接下来,我们调用theadd_shortcode()函数。这个函数负责在实际的WordPress中注册我们的短代码。
它接受两个参数:短代码标签和回调函数。
add_shortcode( 'phpcode', 'php_include' );
最后,简码的回调函数。
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();
}
看着短码函数 function php_include,你可以看到简码包括文件PHP内容位于wp-content/uploads。
我们可以通过编程来获得使用wordpress wp_upload_dir()辅助功能。
对于商家的语法是 [phpcode file="dance"] 这里的价值属性file是PHP文件将包括位于/wp-content/uploads/php-content文件夹
使用简码插件执行PHP
演示如何短码功能,我们将创建一个简单的工具,改写字向后strrev()供电。
下面是被包含在WordPress文章工具代码。
<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>';
}
创建一个PHP文件/wp-content/uploads/php-content并保存在它上面的代码片段。让我们把文件wordsbackward.php。
执行PHP文件,添加短码[phpcode file="wordsbackward"]的文章或页面。
在浏览器中预览后,你应该看到执行的PHP代码,如下图所示。
结论
它指出,如果你运行一个多作者的博客是非常重要的,给作者后执行PHP的特权可以安全的风险,所以你要确保有到位的安全措施。
对许多人来说,要创建一个插件,利用简码,单独的文件,所以要复杂得多,说,将代码直接添加到WordPress编辑器。在本系列的下一部分中,我们将创建一个更先进的插件,可以让我们做所有的文件管理在WordPress仪表盘版。