Vragen kunt u stellen via henk@hetlab.tk of via de redactie.
Hieronder staan drie stukken code die in het bijbehorende PC-Active
artikel worden beschreven. Het gaat om:
1. assortiment.php
2. header-assortiment.php
3. inhoud (plus code) in bericht WordPress
De commentaarregel "Template Name" zorgt ervoor dat we een pagina template
"Assortiment" krijgen. Plaats deze code in de directory wp-content/themes/
en dan de naam die uw thema weergeeft.
**************************************************************************************************************************************************
' . $post->post_content);
$result = ob_get_contents();
ob_end_clean();
return $result;
}
get_header('assortiment');
echo format_text(catch_eval());
?>
**************************************************************************************************************************************************
De code in het WordPress bericht om de openingspagina, de pagina's met
Latijnse namen via de gekozen letter en de pagina van de gekozen plant
weer te geven. Omdat u niet de database heeft, zult u het geheel moeten
aanpassen. De code is bedoeld als voorbeeld hoe u data ophaalt en
verwerkt.
**************************************************************************************************************************************************
get_var($query);
}
function get_letters() {
global $wpdb;
$query = "SELECT LEFT(latnaam, 1) AS firstletter FROM collectie GROUP BY firstletter";
$letters = $wpdb->get_results($query);
foreach ($letters as $letter) {
$string .= '[a ?letter=' . $letter->firstletter . ' ' . $letter->firstletter . '] ';
}
echo $string . "\n";
}
function get_plants() {
global $wpdb;
if (strpos('ABCDEFGHIJKLMNOPQRSTUVWXYZ', $_GET['letter']) === FALSE) return;
$wpdb->query("SET NAMES utf8");
$table = '[code html]
' . "\n";
$table .= '' . "\n";
$table .= 'Bed | Latijnse naam | Nederlandse naam |
' . "\n";
$query = "SELECT * FROM collectie WHERE LEFT(latnaam, 1) = '" . $_GET['letter'] . "' ORDER BY latnaam";
$plants = $wpdb->get_results($query);
foreach ($plants as $plant) {
$table .= '' . $plant->bedcode . ' | ' . $plant->latnaam . ' | ';
$table .= $plant->nednaam . ' |
' . "\n";
}
$table .= '
[/code]' . "\n";
echo $table;
}
function get_plant() {
global $wpdb;
if (! is_numeric($_GET['id'])) return;
$wpdb->query("SET NAMES utf8");
$query = "SELECT * FROM collectie WHERE id = " . $_GET['id'];
$plant = $wpdb->get_results($query);
if (! isset($plant[0])) return;
$text = '==' . $plant[0]->latnaam . ' (' . $plant[0]->nednaam . ')==' . "\n";
if (file_exists($_SERVER['DOCUMENT_ROOT'] . 'images/collectie/' . $plant[0]->webnaam . '_post.jpg')) {
$text .= '[div frame float: right]' . "\n";
$text .= '[code html]
[/code]' . "\n";
$text .= '[p small]Klik op de foto voor een uitvergroting...' . "\n";
$text .= '[/div]' . "\n";
}
$text .= $plant[0]->beschrijving . "\n";
while (preg_match('/%([^%]*)%/', $text, $match)) {
$id = $wpdb->get_var("SELECT id FROM collectie WHERE latnaam = '" . mysql_real_escape_string($match[1]) . "'");
if (is_numeric($id)) {
$text = str_replace($match[0], '[a ?id=' . $id . ' +' . $match[1] . '+]', $text); }
else {
$text = str_replace($match[0], '+' . $match[1] . '+', $text);
}
}
$text .= '[ul]' . "\n";
$text .= ' [li]Hoogte: ' . $plant[0]->hoogte . ' cm[/li]' . "\n";
$text .= ' [li]Bloemkleur: ' . $plant[0]->bloemkleur . '[/li]' . "\n";
$text .= ' [li]Bloeitijd: ' . $plant[0]->bloeitijd . '^e^ maand[/li]' . "\n";
$text .= ' [li]Bijzonderheden: ' . ($plant[0]->bijzonderheden == '' ? '-' : $plant[0]->bijzonderheden) . '[/li]' . "\n";
$text .= '[/ul]' . "\n";
$text .= '[p clear: both; line-height: 0]' . "\n";
echo $text;
}
?>
=Assortiment=
Op deze pagina kunt u alle informatie vinden over de planten die momenteel in onze collectietuin zijn te bezichtigen. Maak uw keuze via één van de onderstaande letters...
[p text-align: center]
**************************************************************************************************************************************************