Calzone

Inscris le 23/02/2015 à 08:31
  • Site web
  • Nombre de sujets
    1
  • Nombre de messages
    1
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
Calzone
Bonjour,

je débute avec les expressions régulières grâce au très bon tuto d'openclassrooms pour le codage d'un thème wordpress. J'essaie d'utiliser la fonction preg_replace_callback pour récupérer une valeur d'un attributs dans un bout de code généré par un plugin. J'applique cette fonction sur mon $content mais la fonction me retourne toute la chaîne, je précise que je code en local avec Wamp. J'ai testé mon expression régulière sur https://regex101.com/ et celle-çi marche parfaitement. Voiçi mon code:

Ma fonction est définie dans mon functions.php comme suit:
function btn_play_index_id($content) {
return preg_replace_callback('#data-playlist="([0-9]+)"#',
create_function ('$matches', 'return ($matches[1]);'), $content);
}

add_filter( 'the_content', 'btn_play_index_id' );



J'appel cette fonction dans mon content.php:
$id = get_the_ID();
$post = get_post($id);
$content = apply_filters('the_content', $post->post_content);
$content = get_the_content();
$btn_play_index_id = btn_play_index_id($content);
echo '<a href="#"><img class="fap-add-playlist posts-playlists-btn-player" data-enqueue="no" data-playlist="' . $btn_play_index_id . '" value="PLAY" type="submit" ></a>';


J'appel mon content.php dans mon index.php:
if (have_posts()) :
while ( have_posts() ) : the_post();
get_template_part( 'content', get_post_format() );
endwhile;
endif;

Lorsque je regarde le code source généré, ma fonction ne semble pas remplacer correctement.

Merci pour l'aide.

Ses derniers messages sur les forums

forum
Calzone
Bonjour,

je débute avec les expressions régulières grâce au très bon tuto d'openclassrooms pour le codage d'un thème wordpress. J'essaie d'utiliser la fonction preg_replace_callback pour récupérer une valeur d'un attributs dans un bout de code généré par un plugin. J'applique cette fonction sur mon $content mais la fonction me retourne toute la chaîne, je précise que je code en local avec Wamp. J'ai testé mon expression régulière sur https://regex101.com/ et celle-çi marche parfaitement. Voiçi mon code:

Ma fonction est définie dans mon functions.php comme suit:
function btn_play_index_id($content) {
return preg_replace_callback('#data-playlist="([0-9]+)"#',
create_function ('$matches', 'return ($matches[1]);'), $content);
}

add_filter( 'the_content', 'btn_play_index_id' );



J'appel cette fonction dans mon content.php:
$id = get_the_ID();
$post = get_post($id);
$content = apply_filters('the_content', $post->post_content);
$content = get_the_content();
$btn_play_index_id = btn_play_index_id($content);
echo '<a href="#"><img class="fap-add-playlist posts-playlists-btn-player" data-enqueue="no" data-playlist="' . $btn_play_index_id . '" value="PLAY" type="submit" ></a>';


J'appel mon content.php dans mon index.php:
if (have_posts()) :
while ( have_posts() ) : the_post();
get_template_part( 'content', get_post_format() );
endwhile;
endif;

Lorsque je regarde le code source généré, ma fonction ne semble pas remplacer correctement.

Merci pour l'aide.

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours