Super ...
Der Vollständigkeitshalber noch mal gepostet mit den fehlenden, abschließenden "Klammern" unten nach dem Echo....
Code
/**
* write in RTE [myDB kindoflist='u-list' searchfield='name' searchstring='Hans Müller']
*/
add_shortcode( 'myDB', function ( $attr = '' ) {
$list = '';
$where = '';
// database request
$search_field = ( $attr['searchfield'] ? $attr['searchfield'] : '' );
$search_string = ( $attr['searchstring'] ? $attr['searchstring'] : '' );
// database configuration
$db_user = 'root';
$db_password = '';
$db_name = 'dbname';
$db_host = 'localhost';
if ( is_numeric( $search_string ) ) {
$comparison = '=';
$search_string = (int) $search_string;
} else {
$comparison = 'LIKE';
$search_string = '"%'.$search_string.'%"';
}
if($search_string && $search_field) {
$where = 'WHERE ' . $search_field .' '. $comparison .' '. $search_string;
}
$results = ( new wpdb(
$db_user,
$db_password,
$db_name,
$db_host
) )->get_results( 'SELECT * FROM tabellenname ' .$where );
switch ( $attr['kindoflist'] ) {
case 'u-list':
foreach ( $results as $result ) {
$list .= '<li>' . $result->id . '</li>';
}
$list = '<ul>' . $list . '</ul>';
break;
case 'o-list':
foreach ( $results as $result ) {
$list .= '<li>' . $result->uid . '</li>';
}
$list = '<ol>' . $list . '</ol>';
break;
case 'no-list':
foreach ( $results as $result ) {
$list.= $result->uid . '<br/>';
$list.= $result->name . '<br/>';
$list.= $result->strasse . '<br/>';
$list.= $result->tabellenfeld . '<br/>'; }
break;
default:
foreach ( $results as $result ) {
$list .= '<li>' . $result->uid . '</li>';
}
$list = '<ul>' . $list . '</ul>';
break;
}
echo $list;
});
Alles anzeigen