Skip to content

Stillingspost-loopen

Stillingspost-loopen er den primære måten å vise en liste over stillinger ved hjelp av malfunksjoner. Den følger WordPress sitt have_posts() / the_post()-mønster.

<?php
// Sjekk alltid at funksjonen finnes (i tilfelle tillegget er deaktivert)
if (function_exists('have_jobposts') && have_jobposts()):
// Loop gjennom hver stillingsannonse
while (have_jobposts()): the_jobpost();
// Vis stillingsdata
the_jobpost('title');
endwhile;
else:
echo "Ingen stillingsannonser tilgjengelig.";
endif;
?>
<?php if (function_exists('have_jobposts') && have_jobposts()): ?>
<p><?php echo get_jobpost_count(); ?> ledige stillinger</p>
<?php while (have_jobposts()): the_jobpost(); ?>
<article class="job-post">
<?php if ($logo = get_jobpost('logo')): ?>
<img src="<?php echo $logo; ?>"
alt="<?php the_jobpost('name'); ?>" />
<?php endif; ?>
<h3>
<a href="<?php echo get_jobpost('permalink'); ?>">
<?php the_jobpost('name'); ?>
</a>
</h3>
<p><?php the_jobpost('excerpt'); ?></p>
<ul>
<?php if ($workplace = get_jobpost('workplace')): ?>
<li>Sted: <?php echo $workplace; ?></li>
<?php endif; ?>
<?php if ($type = get_jobpost('type')): ?>
<li>Type: <?php echo $type; ?></li>
<?php endif; ?>
<?php if ($deadline = get_jobpost('deadline')): ?>
<li>Frist: <?php echo $deadline; ?></li>
<?php endif; ?>
</ul>
</article>
<?php endwhile; ?>
<?php else: ?>
<p>Ingen stillingsannonser tilgjengelig.</p>
<?php endif; ?>

Send et heltall til have_jobposts() for å begrense hvor mange stillinger som vises:

<?php if (have_jobposts(10)): ?>
<?php while (have_jobposts(10)): the_jobpost(); ?>
<!-- Viser maks 10 stillinger -->
<?php endwhile; ?>
<?php endif; ?>

Bruk den andre parameteren for offset:

<?php
// Hopp over de første 10, vis de neste 10
if (have_jobposts(10, 10)):
while (have_jobposts(10, 10)): the_jobpost();
the_jobpost('title');
endwhile;
endif;
?>

Når du viser flere strømmer på samme side, kall reset_jobpost_loop() mellom dem:

<?php
// Første loop: aktive stillinger
if (have_jobposts()):
while (have_jobposts()): the_jobpost();
the_jobpost('title');
endwhile;
endif;
// Nullstill før du starter en ny loop
reset_jobpost_loop();
// Andre loop: utløpte stillinger
if (have_expired_jobposts()):
while (have_expired_jobposts()): the_jobpost();
the_jobpost('title');
endwhile;
endif;
?>
<?php
// Totalt antall stillingsannonser
$total = get_jobpost_count(false);
// Antall stillinger som matcher gjeldende filtre
$filtered = get_jobpost_count(); // standard er true
echo "$total stillinger tilgjengelig. Viser: $filtered";
?>

Noen stillinger kan ha flere posisjoner. Bruk get_jobpost_position_count() for å hente totalt antall ledige posisjoner:

<?php
$positions_total = get_jobpost_position_count(false);
$positions_filtered = get_jobpost_position_count();
echo "$positions_total posisjoner tilgjengelig. Viser: $positions_filtered";
?>