[PHP] WP query categorieen verbergen

Pagina: 1
Acties:

Onderwerpen


  • paQ
  • Registratie: Augustus 2001
  • Nu online
Ik wil in een bestaande WP template bepaalde categorieen verbergen in een portfolio element.

Het element biedt nu plaats aan pagina's/berichten, die je kunt koppelen aan een categorie.
so far so good.
Nu is de bedoeling dat de template die wordt gebruikt om deze berichten weer te geven, geen odnerscheid maakt tussen welke categorieen er getoond worden:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
/**
 * Template Name: Portfolio Full
 */

get_header(); ?>

<div id="content" class="grid_24">
    <?php include_once (TEMPLATEPATH . '/title.php');?>   
  <?php global $more;   $more = 0;?>
  <?php $wp_query = new WP_Query(); ?>
  <?php $wp_query->query("post_type=portfolio&paged=".$paged.'&showposts=6'); ?>
  <?php get_template_part( 'loop', 'portfolio' );?>


</div><!-- #content -->
<!-- end #main -->
<?php get_footer(); ?>

page-portfolio-full.php

Nu vind ik in een andere template (page-portfolio.php) een string om bepaalde categorieen te includen, maar niet om iets te excluden.
code:
1
2
3
4
5
6
  <?php $values = get_post_custom_values("category-include"); $cat=$values[0];  ?>
  <?php global $more;   $more = 0;?>
  <?php $wp_query = new WP_Query(); ?>
  <?php $catinclude = 'portfoliocat='. $cat ;?>
  <?php $wp_query->query("post_type=portfolio" . '&' . $catinclude .' &paged='.$paged.'&showposts=6'); ?>
  <?php get_template_part( 'loop', 'portfolio' );?>


Het is de bedoeling dat een bepaalde pagina, welke getoond wordt via template page-portfolio-full.php bijvoorbeeld categorie 24 en 8 weergeeft, maar niet 10 en 9.

Als dit eenmaal werkt, dan kan ik een een tweede template maken (hopelijk) die het omgekeerde doet.



makkelijker is natuurlijk een category-exclude meta aan de praat te krijgen, maar dit heb ik na een uurtje of 4 ook opgegeven.

need some handles :)

Ik doe niet aan bijgeloof. Dat brengt ongeluk.


  • C0rnelis
  • Registratie: Juni 2010
  • Laatst online: 26-08 22:21
Ik zou eens een kijkje nemen op de geweldige site http://codex.wordpress.org/

Dan kom je al snel uit bij de WP_Query parameters. De voorbeelden spreken voor zich.

  • paQ
  • Registratie: Augustus 2001
  • Nu online
Die had ik inderdaad ook al gevonden, maar het valt (dus) vies tegen om de juiste aanroep te creeeren ermee.

van codex ook al veel geprobeerd en dingen gevolgd, maar het resulteert danwel in geen resultaat, danwel in errors.

:'(

Ik doe niet aan bijgeloof. Dat brengt ongeluk.


  • C0rnelis
  • Registratie: Juni 2010
  • Laatst online: 26-08 22:21
Wat snap je dan niet uit het voorbeeld om categorieen op basis van id's te excluden?
PHP:
1
$query = new WP_Query( array( 'category__not_in' => array( 2, 6 ) ) );


WP_Query accepteert gewoon een string of array als arguments: $args. De verschillende arguments kan je dus gewoon combineren in een array. Je gebruikt nu een string, maar een array is imo veel overzichtelijker.

PHP:
1
2
3
4
5
6
$args = array(
    'posts_per_page' => 6, // showposts is al deprecated vanaf WP 2.1
    'category__not_in' => array( 2, 6 )
);

$query = new WP_Query($args);

  • paQ
  • Registratie: Augustus 2001
  • Nu online
haalt allemaal niets uit.
Er zit vast ergens een include of verwijzing van of naar die ik niet kan terugvinden.

ik ga maar eens op zoek naar een php-er. Word uitbesteden...

Ik doe niet aan bijgeloof. Dat brengt ongeluk.


  • paQ
  • Registratie: Augustus 2001
  • Nu online
_/-\o_ @ C0rnelis

Ik doe niet aan bijgeloof. Dat brengt ongeluk.


Acties:
  • 0 Henk 'm!

  • 8088
  • Registratie: December 2000
  • Niet online

8088

NaN

Uitbesteed aan C0rnelis?

Do you seek to engage in or have you ever engaged in terrorist activities, espionage, sabotage, or genocide?


Acties:
  • 0 Henk 'm!

  • paQ
  • Registratie: Augustus 2001
  • Nu online
ja kinda :)

Had eerder 's middags/vroeg avond al een devver gevonden via marktplaats. Maar die dacht er lang(er) mee bezig te zijn en had geen tijd de komende week.

Ik doe niet aan bijgeloof. Dat brengt ongeluk.

Pagina: 1