TablePress 扩展:在表格中执行 PHP 代码

在已经发布的一系列 TablePress 扩展中,这应该是非常非常有用的一个吧。这也是应很多用户的要求发布的一个扩展。它使得 WordPress 表格管理插件 TablePress 能够解析并执行写在表格单元里的 PHP 代码。

该扩展有助于动态生成表格内容或者与其它插件特性相结合。不过插件作者提醒大家尽量避免使用这个扩展,而是可以通过开发自己的简码来实现类似的功能,以便于您自己对表格中 PHP 代码的控制,而不是由编辑表格的用户来控制。这是从安全的角度来讲的,因为使用了该扩展,就意味着任何可以编辑表格内容的用户都可以通过表格来执行 PHP 代码。除非你信任拥有表格编辑权限的所有用户,否则请不要使用该插件!

安全警告
正式开始之前,请您先阅读下面的警告。您必须在确认您非常需要这样的功能,并且很清楚您正在干什么的情况下使用该扩展。因为,PHP 代码的功能是非常强大的!根据PHP 的结构特性还有 HTTP 响应请求的方式,从表格单元内部运行的 PHP 代码与WordPress(或者其插件)的 PHP 代码在同一个运行环境中,所以拥有跟它们一样的权限,凡是它们能做的事情,表格单元内部的 PHP 代码也能做。但是与插件或者 WP 核心文件不同的是,这些代码并不一定只有管理员才能控制,也就是说,您需要防止普通用户通过这个途径来执行不利于网站的代码。如果您的 WordPress 网站中有多个注册用户,这一点就显得更加关键:任何能够编辑 TablePress 表格内容的人员都能够插入 PHP 代码(然后由服务器执行)。如果他们想这么做的话,他们能够基于这种方式来做一些很不好的事情!既然如此,您必须保证只有那些您充分信任的用户才能够编辑 TablePress 表格,最好只允许网站管理员来进行相关操作。再次强调:谨慎使用相关功能!TablePress 或者其扩展均不会检查插入 PHP 代码的用户是否具有相关权限!并且:只要一个用户能够编辑表格,他就能够插入任何想要的 PHP 代码!(很显然,如果您是 WordPress 网站的唯一注册用户,所有这些问题就都不同担心了。)对于该功能的滥用,插件作者以及本网站不负任何责任!

写给 PHP 开发人员:该扩展使用 PHP 语言的 eval() 函数来实现。该函数获取一个字符串(在这里就是我们表格单元里的内容)并且作为 PHP 代码来执行。因 WordPress 简码的内部结构所限,我们需要进行输出缓存来配合该函数,以便于任何输出都能够随着 [table id=N /]  简码一起输出而不是直接输出到浏览器。(在使用该插件时请充分考虑该特点,因为缓存很大数目的单元格会轻微增加表格渲染所需要的时间,同时也会增加服务器的资源消耗。)

另外,在某些服务器上,eval() 函数可能会因为安全原因而被服务器管理员禁用。

目录 Contents

下载

TablePress 扩展:在表格中执行 PHP 代码(点击下载该扩展

安装后,此扩展在 WordPress 后台“插件”页面显示为,

TablePress 扩展:在表格中执行 PHP 代码

使用说明

要使用该 TablePress 扩展,先从上面下载插件文件,然后象对待一般的 WordPress 插件那样安装、激活。详细说明请看 TablePress 扩展页面上的使用说明

您现在就可以将 PHP 代码输入到表格单元中了,当然必须是有效的 PHP 语句,包括开始和结束括弧(<?php 和 ?>)。在那些代码中,您可以使用常规的 echo 函数来输出文本。任何不在括弧中的文本将会按照原样直接输出。

使用中如果有什么问题,请详细阅读相关文档,或者到讨论区 TablePress 版块寻求解答。在 TablePress 扩展页面还有更多扩展可供使用。©

本文发表于水景一页。永久链接:<http://cnzhx.net/blog/tablepress-ext_php-in-tables/>。转载请保留此信息及相应链接。

时间过去太久,评论已关闭。
如果您有话要说,请到讨论区留言并给出此文章链接。
谢谢您的理解 :-)