是否有更有效的方法使用WordPress api验证报价?
我想你应该nonce 对于表单,您还应该检查当前用户是否有能力保存quote以正确清理表单中的值$_POST
看看filter_input
和/或filter_input_array
我没有看到验证的性能问题,但一个可能的性能问题是将所有引号保存在一个大的序列化数组中,保存在一个选项中:如果有很多引号,那么必须从db中提取一个非常大的序列化字符串(因此需要填充大量内存),取消序列化(大字符串上的序列化/取消序列化可能会很慢),所有这些都只是为了显示一小部分(一个引号)。
性能改进可以单独存储报价。
我将采取什么步骤通过短代码显示报价?
Add shortcode非常简单(也许这就是一些开发人员过度使用它的原因),请参见add_shortcode
doumentation.
如果您的grammer_dw_quote()
将return
引用文本,而不是echo
它,然后是单线
add_shortcode( \'dw_quote\', \'grammer_dw_quote\' );
足以添加
[dw_quote]
打印随机报价的快捷码。
删除所选报价的最佳方式是什么?
使用您的方式:将所有报价保存在一起,这样很难找到特定的报价并将其删除。。。您应该设置一种报价id,例如
$list_of_quotes[] = $_POST[\'adding_quote\'];
你应该有
$list_of_quotes[$a_unique_id] = $_POST[\'adding_quote\'];
这样做很简单,获取一个特定的报价并删除它,即。
unset
然后再次保存它。这个唯一的id应该是什么取决于您。
然而,现在我已经回答了你的问题,我想给你一个建议。
如果您创建custom post type for quotes 你几乎解决了所有的问题:
菜单项和表单都是由WordPress创建的,唯一的id处理是由WordPress完成的,就像创建、列出、删除、垃圾处理、取消垃圾处理、调度的UI一样验证、清理、能力检查和所有其他安全工作都是由WordPress来完成的,检索一篇随机帖子(无论是否使用短代码),或者可以使用核心功能来完成完整的短代码列表,编写更少的代码,您可以拥有许多自己很难实现的功能,而且可能毫无意义。
您可以通过查看this answer. 这里的CPT是用来“开玩笑”的,你有“引语”,但没有太大区别。