我使用了以下脚本,从WordPress上的USER表中检索用户ID.此脚本工作在本地服务器和所有其他服务器上.但这在Hostinger服务器中不起作用.

为什么这在Hostinger不起作用?

只有这是print_r($query);,但找不到$userid=$query[0][ID]; ID

<?php
    if (sanitize_text_field($_GET['ven_search_title']) && sanitize_text_field ($_GET['ven_search_title']))
    {
        $ven_search_title = sanitize_text_field($_GET['ven_search_title']);
    }

    global $wpdb;
    $table = $wpdb->prefix . 'users'; 
    $query = $wpdb->get_results("SELECT * FROM $table WHERE user_nicename LIKE '%".$ven_search_title."%'", ARRAY_A);

    
    if($query){
 
    echo "<pre>";
    print_r ($query);
    echo "</pre>";  
 
    $userid=$query[0][ID];
    
    echo "<pre>";
    print_r ($query[0][ID]);
    echo "</pre>";  
?>     
<?php $user=get_userdata($userid)?>
    <a href="<?php echo bloginfo('url').'/store/'.$user->user_nicename; ?>">
    <div class="store-wrappers"> 
        <div class="seller-avatar"><?php echo get_avatar($userid) ?></div>
        <div class="storebody">
            <div class="search_title"><span>Store Name:</span> <?php echo $user->user_nicename; ?> </div> 
        </div>   
    <div style="clear:both;"></div>  

推荐答案

您的代码中有一些错误.例如,bloginfo('url')已经被它自己附和了.您的代码可以得到一些简化和保护.

try 以下操作:

if ( isset($_GET['ven_search_title']) && ! empty($_GET['ven_search_title']) ) {
    global $wpdb;

    $user_id = $wpdb->get_var( $wpdb->prepare("
        SELECT ID FROM {$wpdb->prefix}users WHERE user_nicename LIKE '%s' 
    ", '%'.sanitize_text_field($_GET['ven_search_title']).'%' ));

    if( $user_id > 0 ){
        $user     = new WP_User($user_id);
        $nicename = $user->user_nicename;
        ?>
        <a href="<?php echo site_url('/store/'.$nicename); ?>">
        <div class="store-wrappers"> 
            <div class="seller-avatar"><?php echo get_avatar($user_id) ?></div>
            <div class="storebody">
                <div class="search_title"><span><?php _e('Store Name'); ?>:</span> <?php echo $nicename; ?></div> 
            </div>   
            <div style="clear:both;"></div>
        <div><?php 
    } 
}

经过测试,重量轻,更安全和工作.

Php相关问答推荐

如何在WordPress中为特定自定义帖子类型自定义URL struct

显示WooCommerce当前产品类别或标签的短代码

致命错误:无法使用简单的php博客重新声明spl_autoload_Register()

在WooCommerce产品中按类型对产品属性术语进行分类以供显示

Sylius php -如何将购物车传递到小枝模板(Sylius模板事件)

Laravel:如何展平多维Eager 加载的集合

根据WooCommerce购物车页面中的自定义 Select 添加费用

如何在execute语句中使用存储过程参数?

PHP SimpleXML:按属性值访问 node

wp_insert_post() 和 WordPress 中查询字符串的多个帖子

Docker-用于部署的 PHP 应用程序映像无法在本地运行

图片上传成功

PHP 创建 CSV 文件并用波斯语写入

Shopware 6.4.20店铺激活问题

PHP删除具有相同键的项目,除了具有最低值的项目

如何从此字符串创建 Carbon 对象:2022-06-21T05:52:46.648533678Z?

是否有适用于 Windows 的真正 64 位版本的 PHP 5.6?

如何正确使用Flysystem和Local Adapter

如何获取最后一条消息属于 Laravel 中特定用户的对话列表

Laravel 自定义中间件:ERR_TOO_MANY_REDIRECTS