2012-12-19 10 views
17

Próbuję utworzyć funkcję przeglądu za pomocą colorbox w WordPress.Jak mieć wartość wysłaną po kliknięciu na post, zapytany z bazy danych w WordPress

Pozwól mi wyjaśnić trochę. W WordPress, strony mają posty, które są testowane przez ten kod:

$lastposts = get_posts($args); 
foreach($lastposts as $post) : setup_postdata($post); 
get_template_part('content', get_post_format()); 
endforeach; 

Więc będzie to złapać wszystkie posty, które są w bazie danych WordPressa. Teraz każdy post jest produktem, więc chcę wiedzieć, czy istnieje sposób, w jaki mogę dodać do niego jakiś kod, aby ustawić wartość dla każdego postu, który po kliknięciu na obraz postu spowoduje przesłanie tytułu tego posta, może pobrać szablon przeglądu (coś, co zrobię) tego konkretnego produktu.

UPDATE:

Oto jQuery, który otwiera raz każdy obraz jest kliknięty:

<link media="screen" rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/js/colorbox.css" /> 
<script src="<?php echo get_template_directory_uri(); ?>/js/jquery.colorbox-min.js" type="text/javascript"></script> 

<script type="text/javascript"> 
    $(function() 
    { 
     $('.item-post a').colorbox({opacity:0.3, href:"../overviewa512454dzdtfa"}); 
    }); 
</script> 

Chcę tytuł postu obraz jest powiązany z wysyłany do pliku, który jest otwarty w colorbox.

Odpowiedz

1

treści page.php, treści aside.php, etc., są pliki używane w WP Theme do produkcji swoich produktów w pętli, ponieważ od tej linii w kodzie:

get_template_part('content', get_post_format()); 

Zasadniczo wszystko, co musisz zrobić, to otworzyć te pliki i część, która wyprowadza treść każdego posta, otaczać obraz postu za pomocą identyfikatora twojego wpisu (łatwo można "zaatakować" odpowiedni przegląd przy użyciu identyfikatora w kwerendie jQuery ...

3

Umieściłbym rel="<?= $post['title'] ?>" w twoich linkach, aby każdy link zawierał tytuł postu. . (Przepraszam, jeśli $post['title'] "nie jest właściwy atrybut dla WP Post, ale przekonasz się, że) Następnie, w javascript, przechodzą tytuł w adresie URL, jak:

<script type="text/javascript"> 
    $(function() 
    { 
     $('.item-post a').bind('click',function() { 
      event.preventDefault(); 
      var product_title = $(this).attr('rel'); 
      colorbox({opacity:0.3, href:"../overviewa512454dzdtfa?title=" + product_title}); 
     }); 
    }); 
</script> 

Powinieneś albo URL kodować tytuł jesteś przechodzącą wewnątrz znacznika rel=", albo zrobić z javascript, kiedy przekazać je do ColorBox.

Następnie, strona główna, można uzyskać dostęp tytuł z $_REQUEST['title'].

Powiązane problemy