J'ai créé un type de message personnalisé: "produits". Dans ce type de message, il existe six champs personnalisés contenant des informations automatiquement importées de WP Toutes les importations.
Je voudrais récupérer les informations de ces 6 champs personnalisés en utilisant un shortcode. Idéalement, il serait possible de récupérer les informations en utilisant le slug de la poste, donc (le "code" étant le slug):
[product code="12345678"]
Ce qui précède doit rechercher le "produit" avec le slug 12345678, puis sortir les informations de ces six champs personnalisés.
Comment devrais-je aborder cela?
Obtenez la valeur d'attribut dans shortcode
et obtenez les valeurs de champs personnalisés:
function product_func($atts) {
$post_id = $atts['code'];
$key = "my_custom_field_key";//for 1 field, you can do this 6 times for the 6 values
$custom_value = get_post_meta($post_id, $key, true);
return $custom_value;
}
add_shortcode('product', 'product_func');
si vous voulez déboguer les valeurs du champ post-méta, utilisez ce code:
function product_func($atts) {
$post_id = $atts['code'];
//lets check if we are getting the att
echo "<h1>THE ATT, SHOULD MATCH THE CODE YOU SEND</h1></br>";
echo "<pre>";
var_dump($post_id);
echo "</pre>";
//lets check if we are getting the att
echo "</br><h1>WE MAKE SURE THE POST IS NOT NULL, MEANING IT SHOULD EXIST</h1></br>";
$post = get_post( $post_id );
echo "<pre>";
var_dump($post);
echo "</pre>";
//lets check the meta values for the post
echo "</br><h1>WE LIST ALL META VALUES TO CHECK THE KEY NAME OF THE CUSTOM FIELD WE WANT TO GET</h1></br>";
$meta = get_post_meta( $post_id );
echo "<pre>";
var_dump($meta);
echo "</pre>";
$key = "my_custom_field_key";//for 1 field, you can do this 6 times for the 6 values
$custom_value = get_post_meta($post_id, $key, true);
return $custom_value;
}
add_shortcode('product', 'product_func');
il montre chaque valeur nécessaire pour obtenir le champ `personnalisé, devrait ressembler à ceci:
donc dans mon cas, la clé serait:
$key = "MY CUSTOM FIELD";