Pods WordPress > Mi guía

Como ya sabéis me encanta usar Pods Framework para WordPress, pero siempre gasto demasiado tiempo volviendo a buscar como hacer las queries, mostrar ciertos campos, … Por este motivo, voy a intentar crearme una guía con las porciones de código que más uso en mis proyectos, y así poder usarla como guía de consulta en el futuro. Con un poco de suerte, quizás también sea útil para ti.

Tipos de Pods

Yo suelo usar dos: Custom Post Type (ampliar los post habituales de Worpdress) o los Advanced Content Type (tablas nuevas que no extienden de ningún elemento de WordPress)

Según usemos uno cambiará ligeramente las queries de busqueda:

Custom Post Type

$params = array(
  'where' =>   't.post_status="Publish"',
  'orderby' => 'position.meta_value+0 ASC',
  'limit' =>   -1  // -1 = no limit in items per page
);

$mypod = pods( 'podsTypeName', $params );
$params = array(
  // show it if wordpress status is publish & it belongs to current type
  'where' => 't.post_status="Publish" AND podTypeName.field_id="'.$typeId.'"'
);

Advanced Content Type

$params = array(
  'where' => 'active=1',
  'orderby' => 'position+0 ASC',
  'limit' => -1  // -1 = no limit in items per page
);

$mypod = pods( 'podsTypeName', $params );

Loop

while ( $mypod->fetch() ) {
  echo $mypod->data->row['ID'];
  echo $mypod->display('title');

  echo wpautop($mypod->display('content'));
    // Changes double line-breaks in the text into HTML paragraphs (<p>...</p>)

  // multiselect field:
  echo $mypod->get_field('categories');
  $array = $mypod->field('categories.category_id');
     foreach ($array as &$item) {
       echo $item;
     }

  // Image
  $portfolio_image = $portfolio->get_field('image');
  echo $portfolio_image[0]['guid'];
}
// Total records in the loop
$openingData->total();

Single Records

$slug = pods_v( 'last', 'url' );
// antes se usaba: $slug = pods_url_variable('last');

$params = array( 'where' => 'post_name = "'.$slug.'"' );
$mypod = pods( 'podsTypeName', $params );

Poco a poco iré ampliando estas porciones de código.

Espero que os sea de ayuda

Campos de fecha

$datetime = explode(" ", $mypod->display( 'start_date' ));
$date = explode("-", $datetime [0]);
$time = explode(":", $datetime [1]);
echo date(get_option('date_format'), mktime($time[0], $time[1], 0, $date[1], $date[0], $date[2]));