WordPress快捷代码显示数据库行

时间:2019-03-03 作者:Sebastián

早上好,

我想知道是否可以做一个短代码来获取存储在数据库中的一行中的所有字段,不同的是,为了提高网站的速度,我不想做很多短代码。

数据库中包含单独字段的行,如下图所示。

Database fields

或者,如果有另一种方法做得更好,欢迎你。

1 个回复
SO网友:Krzysiek Dróżdż

我不完全确定这是否是你想要的,但是。。。下面的代码将注册一个短码,它将获得给定的行并输出该行的所有字段:

function shortcode_db_row_cb( $atts ) {
    $atts = shortcode_atts( array(
        \'id\' => false,
    ), $atts, \'db_row\' );

    global $wpdb;
    $row = $wpdb->get_row( $wpdb->prepare( "select * from {$wpdb->prefix}TABLE_NAME where id = %d", $atts[\'id\'] ), ARRAY_A );
    $res = \'\';

    if ( $row ) {
        $res = \'<table>\';
        $res .= \'<tr>\';
        foreach ( $row as $k => $v ) $res .= \'<th>\' . esc_html($k) . \'</th>\';
        $res .= \'</tr>\';
        $res .= \'<tr>\';
        foreach ( $row as $k => $v ) $res .= \'<to>\' . esc_html($v) . \'</td>\';
        $res .= \'</tr>\';
        $res .= \'</table>\';
        return $res;
    }

    return \'no such row\';
}
add_shortcode( \'db_row\', \'shortcode_db_row_cb\' );

相关推荐

Shortcode is not working

通过阅读教程,我创建了一个简单的快捷代码:<?php /* Plugin Name: GT NoTranslate Shortcode Description: Shortcode to wrap a span with the \"notranslate\" span around text. Version: 0.1 BETA Author: Andrew Truckle Author URI: http://www.trucklesoft.co.