Ich bin in der Lage, die Schleife am Anfang der Seite auszuführen, aber sobald ich aus der Schleife (endwhile;) beenden, kann ich mein Datenfeld trotzdem nicht platzieren . Meine Daten können nirgendwo platziert werden, sobald ich die Schleife schließe.
Also lassen Sie uns sagen, dass ich versuchen werde:
<?php /* Template Name: memberplatform */ ?>
<?php $current = $_SERVER["REQUEST_URI"]; ?>
<?php get_header(); ?>
<?php $temp_query = $wp_query;
query_posts("cat=2&showposts=20");
while (have_posts()) : the_post();
$membername = get_post_meta($post->ID, 'name', true);
$memberemail = get_post_meta($post->ID, 'email', true);
$members = [];
if (! empty($membername)) {
$members[] = '<option value="' . $memberemail . '">' . get_post_meta($post->ID, 'name', true) .'</option>';
echo implode($members);
}
endwhile;
?>
und dann in Form bin ich versuche, meine Array wie das Echo:
<select class="drops" name="smallsan">
<?php echo implode($members); ?>
</select>
ich innerhalb der Schleife meine Array erhalten , also an erster Stelle, aber ich kann mein Dropdown mit meinen Ergebnissen nicht füllen.
ORIGINAL PROBLEM:
Ich brauche eine Liste Merkmale von Menschen abzurufen, die ich bereits ein benutzerdefiniertes Feld in Wordpress gegeben habe, zum Beispiel der E-Mail oder ihre Firmennamen, so dass sie in einem Option-Tag zum Anzeigen in ein Dropdown-Menü in einem Formular auswählen.
So weit so gut, aber da muss ich zwei verschiedene Felder angezeigt werden (von einer Person auf eine andere Person) ich auf diese Weise zwei verschiedene Schlaufen laufen hatte:
<form role="form" class="contactForm contact-form form-horizontal">
<div class="form-group">
<div class="controls">
<label class="col-sm-2 control-label"> Your Name (required)</label>
<div class="col-sm-10">
<select class="drops" name="smallsan">
<?php $temp_query = $wp_query; ?>
<?php query_posts("cat=2&showposts=20"); ?>
<?php while (have_posts()) : the_post(); ?>
<?php
$membername = get_post_meta($post->ID, 'name', true);
$memberemail = get_post_meta($post->ID, 'email', true);
if (! empty($membername)) {
echo '<option value="' . $memberemail . '">' . get_post_meta($post->ID, 'name', true) .'</option>';
}
?>
<?php
endwhile;
?>
</select>
<div class="help-block with-errors"></div>
</div>
</div>
<div class="controls">
<label class="col-sm-2 control-label">Referring to</label>
<div class="col-sm-10">
<select class="drops" name="smallsan">
<?php $temp_query = $wp_query; ?>
<?php query_posts("cat=2&showposts=20"); ?>
<?php while (have_posts()) : the_post(); ?>
<?php
$membername = get_post_meta($post->ID, 'name', true);
$memberemail = get_post_meta($post->ID, 'email', true);
if (! empty($membername)) {
echo '<option value="' . $memberemail . '">' . get_post_meta($post->ID, 'name', true) .'</option>';
}
?>
?>
<?php
endwhile;
?>
</select>
</div>
</div>
und so weiter.
Ich habe versucht, die Schleife nur ganz oben auszuführen, um beide Abschnitte zu füttern, aber es hat nicht funktioniert, weil ich auf diese Weise nur einen Wert abrufen konnte (nicht alle Mitglieder mit ihrer E-Mail):
<form role="form" class="contactForm contact-form form-horizontal">
<?php $temp_query = $wp_query; ?>
<?php query_posts("cat=2&showposts=20"); ?>
<?php while (have_posts()) : the_post(); ?>
<select class="drops" name="smallsan">
<?php
$membername = get_post_meta($post->ID, 'name', true);
$memberemail = get_post_meta($post->ID, 'email', true);
if (! empty($membername)) {
echo '<option value="' . $memberemail . '">' . get_post_meta($post->ID, 'name', true) .'</option>';
}
?>
<?php
endwhile;
?>
</select>
<div class="help-block with-errors"></div>
</div>
</div>
<div class="controls">
<label class="col-sm-2 control-label">Referring to</label>
<div class="col-sm-10">
<select class="drops" name="smallsan">
<?php
$membername = get_post_meta($post->ID, 'name', true);
$memberemail = get_post_meta($post->ID, 'email', true);
if (! empty($membername)) {
echo '<option value="' . $memberemail . '">' . get_post_meta($post->ID, 'name', true) .'</option>';
}
?>
?>
<?php
endwhile;
?>
</select>
</div>
</div>
Ist es richtig? Gibt es eine andere Möglichkeit zu vermeiden, die Schleife zu duplizieren (DRY) und den Prozess zu ersticken und den Code sauberer zu machen?
Ich habe versucht, den Code zu verwenden, aber es hat nicht funktioniert, sobald ich die Schleife geschlossen wird es nur ein Ergebnis drucken, also habe ich versucht zu beenden es am Ende des Codes, aber immer noch wird es nicht funktionieren – Matto
versuchen, var_dump ($ Mitglieder). –
Wo oder wie soll ich den Code eingeben? – Matto