web-dev-qa-db-fra.com

Comment afficher une vidéo d'une catégorie spécifique dans la barre latérale?

Je dois obtenir des vidéos et du contenu de publications récentes dans une catégorie spécifique appelée "Vidéo" et l'afficher dans ma barre latérale.

Le problème est que je dois avoir un contenu texte limité. Ainsi, lorsque j'utilise the_content();, je peux voir la vidéo dans la barre latérale, mais lorsque j'utilise the_excerpt(); pour limiter le texte, la vidéo a disparu.

Le code que j'ai est de faire ce dont j'ai besoin avec les messages et les catégories, mais je suis coincé ici:

<?php query_posts('cat=6&showposts=2'); ?>
<?php while (have_posts()) : the_post(); ?>

<?php endwhile; ?>

Tho, j’ai encore une fonction de limite de contenu que je peux utiliser dans mon function.php, mais comme je n’ai pas de nouvelles connaissances en WordPress et PHP, je ne sais pas quoi faire et je peux utiliser l’aide que vous pouvez offrir.

function content($num, $more_link_text = '(more...)') { 
    $theContent = get_the_content($more_link_text); 
    $output = preg_replace('/<img[^>]+./','', $theContent); 
    $output = strip_shortcodes($output);
    $output = strip_tags($output);
    $output = preg_replace("/\[caption.*\[\/caption\]/", '', $output);
    $limit = $num+1; 
    $content = explode(' ', $output, $limit); 
    array_pop($content); 
    $content = implode(" ",$content); 
    echo ($content) . "...";
}

avec <?php content(8); ?> que j'appelle dans ma boucle. Cela fait ce dont j'ai besoin avec une limitation de contenu, mais ne montre toujours pas la vidéo.

2
ecoLogic

Si vous intégrez toujours les mêmes vidéos, j'aime bien la solution proposée par 5wpthemes, mais si vous souhaitez éviter de devoir utiliser un champ personnalisé (et plus précisément, n'oubliez pas de le faire), vous pouvez également essayer le code ci-dessous ( ce qui exige également que le code soit très similaire dans chaque message).

<?php $my_query = new WP query(array('cat'=>6, 'showposts'=> '2')); ?>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
    $theContent = get_the_content();
    $parts = explode("iframe",$theContent);
    ?><iframe<? echo $parts[1]; ?>iframe><?php
<?php endwhile; ?>
1
bsoist

Dans la boucle Youy juste après cet extrait de code.

<?php query_posts('cat=6&showposts=2'); ?>
<?php while (have_posts()) : the_post(); ?>

<?php content('10'); ?>


<?php endwhile; ?>

Remplacez 10 par le nombre de votre choix.

Dis-moi si ça marche.

0
5wpthemes

Ajout de vidéos à partir de YouTube (je n'ai pas essayé d'autres chaînes)

  1. Ajouter un nouveau champ personnalisé et nommez-le par ex. VIDÉO

  2. Ajoutez le code pour incorporer la vidéo dans le champ de valeur comme ceci:

Si votre code est:

<iframe width=”300″ height=”180″ src=”http://www.youtube.com/embed/9bZkp7q19f0” frameborder=”0″ allowfullscreen></iframe>

Extrayez le src = "valeur" et collez-le dans la valeur de votre champ personnalisé.

  1. Dans votre boucle, appelez la valeur du champ personnalisé comme ceci
<?php $video_field=get_post_meta($post->ID,'VIDEO',true); ?>

<iframe width="300″ height="180" src="<?php echo $video_field;?>" frameborder="0" allowfullscreen="true"></iframe>

<?php endif;?>

Voici un exemple de travail: http://5wpthemes.com/blog/how-to-add-video-in-sidebars-posts-pages-with-custom-fields/

Vous pouvez également utiliser le champ personnalisé d'extrait pour appeler l'extrait dans votre boucle et limiter ce que vous voulez.

0
5wpthemes