Dane z tabeli postmeta z pomocą shortcode

Dział poświęcony pozostałym kwestiom związanym z kodowaniem w CMS Wordpress.
no avatar
artplk
 
Posty: 16
Reputacja: 0 pkt
Od: 25 sty 2017, o 17:11

Dane z tabeli postmeta z pomocą shortcode

przez artplk » 7 lip 2017, o 16:08

mam do posta przypisane pole "video"zrobiłem taksonomie "miasto" i "typ" jak za pomocą wp_query wyciągnąć zawartość pola 'video' zapisany w tabeli wp_postmeta z ostatniego opublikowanego posta przypisanego do taksonomii miasto=warszawa, typ=na-topie?

chciałbym to zrobić shortcodem
Kod: Zaznacz cały
[mojshortcode miasto="warszawa" typ="na-topie" limit="1"]

no avatar
artplk
 
Posty: 16
Reputacja: 0 pkt
Od: 25 sty 2017, o 17:11

Re: Dane z tabeli postmeta z pomocą shortcode

przez artplk » 8 lip 2017, o 18:05

już ogarnąłem :)

no avatar
piwot
 
Posty: 9
Reputacja: 0 pkt
Od: 7 lip 2017, o 10:09
Lokalizacja: Biedrusko

Re: Dane z tabeli postmeta z pomocą shortcode

przez piwot » 10 lip 2017, o 10:12

Podaj w takim razie odpowiedź, bardzo możliwe, że ktoś kiedyś będzie szukał tego samego i będzie miał gotową odpowiedź.

no avatar
artplk
 
Posty: 16
Reputacja: 0 pkt
Od: 25 sty 2017, o 17:11

Re: Dane z tabeli postmeta z pomocą shortcode

przez artplk » 10 lip 2017, o 19:16

Tamten post był z przykładowymi danymi do wyciągnięcia przez ShortCode, teraz potrzebowałem innych danych, tu przedstawiam tylko mechanizm:
Kod: Zaznacz cały
if ( ! function_exists( 'featured_video_shortcode' ) ) {
    function featured_video_shortcode($atts) {
   // Defaults
   extract(shortcode_atts(array(
      'category_name' => '',
      'tag_name' => 'featured',
   ), $atts));
   if($category_name !==''){
     $category = array(
              'taxonomy' => 'category',
              'field'    => 'slug',
              'terms'    => $category_name,
          );
   }
   else {
     $category = '';
   }
   $args = array (
      'post_type' => 'post', // it's default, you can skip it
      'posts_per_page' => '1',
      'order_by' => 'date', // it's also default
      'order' => 'DESC', // it's also default
      'tax_query' => array(
          'relation' => 'AND',
          array(
              'taxonomy' => 'post_tag',
              'field'    => 'slug',
              'terms'    => $tag_name,
          ),
          $category,
      ),
   );
   // query is made
   $query = new WP_Query( $args );
   // Reset and setup variables
   $output = '';
   $yt_vid = '';
   $videoWidth = '100%';
   $videoHeight = $videoWidth/1.61; //1.61 golden ratio;
   // the loop
   if ($query->have_posts()) : while ($query->have_posts()) : $query->the_post();
      $post_id = get_the_ID();
      $video_meta = get_post_meta( $post_id, 'my_post_video', true );
      $yt_vid = $video_meta['post_video_id'];
      $embed = '<iframe width="'.$videoWidth.'" height="'.$videoHeight.'" src="https://www.youtube.com/embed/'.$yt_vid.'" frameborder="0" allowfullscreen></iframe>';
      $output .= '<div>
      '.$embed.'
      </div>';
   endwhile; else:
      $output .= '';
   endif;
   wp_reset_query();
   return $output;
  }
add_shortcode('featured_video', 'featured_video_shortcode');
}

Proszę przy okazji o opinie czy tak to powinno być, czy można lepiej?




  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Kodowanie w Wordpressie

Kto przegląda forum Wordpress

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości

cron