1

tut mir leid, wenn ich frage dumme frage weil ich nicht code/php experte?ist es möglich, shortcode im theme -or- oder make neue shortcode kombiniert zwei shortcodes

Ich verwende Schwerkraftansicht, um die Schwerkraft aus den Werten zu filtern und anzuzeigen.

[gravityview id = "111" search_field = "11" search_value = "xyzes"]

Jetzt möchte ich search_value dynamisch ändern AS "aktuellen angemeldeten Benutzer"

I So Herstellung neue SHORT versuchen, aber nicht gut funktioniert oder nicht gute Idee

add_shortcode('customcode' , 'wp_get_current_user_func'); 

function wp_get_current_user_func($atts) { 
    $current_user = wp_get_current_user(); 

    return do_shortcode('[gravityview id="1111" search_field="16" search_value="$current_user = wp_get_current_user();"]'); 
} 

Meine Anfrage bitte machen Sie mir, was richtiger Code oder gibt es eine Möglichkeit, in Backend zu tun, ich in der Lage als Thema-Datei ändern?

Vielen Dank im Voraus

Antwort

0

Sie nah genug waren. Hier ist, wie Sie es tun sollten:

add_shortcode('customcode' , 'wp_get_current_user_func'); 

function wp_get_current_user_func($atts) { 
$current_user = wp_get_current_user(); 
$user_login = $current_user->user_login; 
//return do_shortcode('[gravityview id="1111" search_field="16" search_value=".$user_login."]'); 
$shortcode = sprintf(
'[gravityview id="%1$s" search_field="%2$s" search_value="%3$s"]', 
"1111", 
"16", 
$user_login 
); 
echo do_shortcode($shortcode); 
} 

Sie fehlten $current_user->user_login von Funktion abrufen wp_get_current_user()

$user_login = $current_user->user_login; 

Sie können auch aus den anderen Werten, wie in diesem Beispiel drucken:

<?php 
    $current_user = wp_get_current_user(); 
    /** 
    * @example Safe usage: $current_user = wp_get_current_user(); 
    * if (!($current_user instanceof WP_User)) 
    *  return; 
    */ 
    echo 'Username: ' . $current_user->user_login . '<br />'; 
    echo 'User email: ' . $current_user->user_email . '<br />'; 
    echo 'User first name: ' . $current_user->user_firstname . '<br />'; 
    echo 'User last name: ' . $current_user->user_lastname . '<br />'; 
    echo 'User display name: ' . $current_user->display_name . '<br />'; 
    echo 'User ID: ' . $current_user->ID . '<br />'; 
?> 
+0

Hallo MR Jack Es tut mir leid für vorherige Zweifel, aber in nach alle zu überprüfen und Code, wie Sie vorgeschlagen, es funktioniert jetzt kein Fehler, aber nicht ziehen Daten in debug ich gefunden ........ Array ( [field_filters] => Array ( [0] => Array ( [key] => 16 [Wert] =>. $ User_login. [Operator] => enthält ) [mode] => alle ) ) –

+0

Vielleicht müssen Sie dieses stattdessen '$ user_login' die die Punkte entfernen, anstatt'. $ User_login.' –

+0

hallo es noch selbe [key] => 16 [wert] => $ user_login [operator] => enthält –