admin管理员组文章数量:1287607
I'm having an issue with mysql_real_escape_string. This is used to display a custom post type (food menu items) for the WooThemes Diner theme. Food menu items no longer display on the Diner menu page because they are being called with mysql_real_escape_string.
What is the proper way to call these items?
Theme: Diner by WooThemes version 1.9.8 (now retired from active support)
Affected file: admin-interface.php
Lines: 111 & 118
/*-----------------------------------------------------------------------------------*/
/* WooThemes Admin Interface - woothemes_add_admin */
/*-----------------------------------------------------------------------------------*/
if ( ! function_exists( 'woothemes_add_admin' ) ) {
function woothemes_add_admin() {
global $query_string;
global $current_user;
$current_user_id = $current_user->user_login;
$super_user = get_option( 'framework_woo_super_user' );
$themename = get_option( 'woo_themename' );
$shortname = get_option( 'woo_shortname' );
// Reset the settings, sanitizing the various requests made.
// Use a SWITCH to determine which settings to update.
/* Make sure we're making a request.
------------------------------------------------------------*/
if ( isset( $_REQUEST['page'] ) ) {
// Sanitize page being requested.
$_page = '';
$_page = mysql_real_escape_string( strtolower( trim( strip_tags( $_REQUEST['page'] ) ) ) );
// Sanitize action being requested.
$_action = '';
if ( isset( $_REQUEST['woo_save'] ) ) {
$_action = mysql_real_escape_string( strtolower( trim( strip_tags( $_REQUEST['woo_save'] ) ) ) );
} // End IF Statement
// If the action is "reset", run the SWITCH.
/* Perform settings reset.
------------------------------------------------------------*/
I'm having an issue with mysql_real_escape_string. This is used to display a custom post type (food menu items) for the WooThemes Diner theme. Food menu items no longer display on the Diner menu page because they are being called with mysql_real_escape_string.
What is the proper way to call these items?
Theme: Diner by WooThemes version 1.9.8 (now retired from active support)
Affected file: admin-interface.php
Lines: 111 & 118
/*-----------------------------------------------------------------------------------*/
/* WooThemes Admin Interface - woothemes_add_admin */
/*-----------------------------------------------------------------------------------*/
if ( ! function_exists( 'woothemes_add_admin' ) ) {
function woothemes_add_admin() {
global $query_string;
global $current_user;
$current_user_id = $current_user->user_login;
$super_user = get_option( 'framework_woo_super_user' );
$themename = get_option( 'woo_themename' );
$shortname = get_option( 'woo_shortname' );
// Reset the settings, sanitizing the various requests made.
// Use a SWITCH to determine which settings to update.
/* Make sure we're making a request.
------------------------------------------------------------*/
if ( isset( $_REQUEST['page'] ) ) {
// Sanitize page being requested.
$_page = '';
$_page = mysql_real_escape_string( strtolower( trim( strip_tags( $_REQUEST['page'] ) ) ) );
// Sanitize action being requested.
$_action = '';
if ( isset( $_REQUEST['woo_save'] ) ) {
$_action = mysql_real_escape_string( strtolower( trim( strip_tags( $_REQUEST['woo_save'] ) ) ) );
} // End IF Statement
// If the action is "reset", run the SWITCH.
/* Perform settings reset.
------------------------------------------------------------*/
Share
Improve this question
asked Oct 26, 2016 at 20:30
tinymtinym
411 gold badge1 silver badge3 bronze badges
3
|
3 Answers
Reset to default 6As mysql_real_escape_string() was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0, you can try esc_sql() to work for later WP/PHP versions.
Replace mysql_real_escape_string()
with esc_sql()
at line 111 & 118 in your admin-interface.php
file.
Hope this should work well for you!
mysql_real_escape_string
was deprecated previously and removed in PHP7. You have to use mysqli_real_escape_string
. But I don't think it is possible with WordPress because you have pass the connection string also.
So alternately you can use esc_sql() instead of mysql_real_escape_string
.
use this
global $wpdb;
$string = "<h1>Hello world</h1>";
$string = $wpdb->_real_escape($string);
link here : https://developer.wordpress/reference/classes/wpdb/_real_escape/
本文标签: phpReplacing mysqlrealescapestring in WordPress theme
版权声明:本文标题:php - Replacing mysql_real_escape_string in WordPress theme 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741317025a2371975.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
mysql_real_escape_string
was deprecated previously but removed in PHP7. It is possible that Woo has released an update for this theme. Recommend contacting Woo for a fix. – jdm2112 Commented Oct 26, 2016 at 20:39