• User

    Funzione comment_form e parametri

    Ciao a tutti, ho un problemone con la funzione comment_form di wordpress. il codice:

    
    
    <?php
    	$rate = ratings_input_list();
    	$form_rec = array(
    			'comment_notes_after' => '<p class="tabella">'. $rate . '</p><p>' . __('* Campio Obbligatori', 'comm_rec').' '.( $req == 1 ? '| <span class="emailriservata">' . __( 'L\'email non sarà pubblicata.','comm_rec' ) . '</span>' : '' ) . '</p>
    
    
    
    
    		<?php comment_form($form_rec); ?>
    
    

    Ho tagliato un po di codice per chiarire. In pratica la funzione rating_input_list() stampa a video una tabella html. Io voglio questa tabella appena sotto alla textarea di inserimento del commento, quindi passo a comment_form l'array form_rec e il valore dell'indice comment_notes_after stampa il contenuto appena sotto alla textarea. Nel mio caso succede che stampa tutto giusto tranne la funzione rating_input_list che la stampa al di fuori del form precisamente prima del form, infatti se guardo l'outpup html della pagina mi ritrovo che ho il <p class="tabella"> vuoto.....

    qualcuno può aiutarmi a capire questo comportamento strano?!!?!

    Grazie Massimo


  • User

    Ciao massimo001,
    per individuare il problema dovremmo avere anche il codice della funzione ratings_input_list() e possibilmente l'error log corrispondente. A proposito, sicuro che tu l'abbia scritta bene nel codice? Qui la chiami rating_input_list(), mentre nel codice c'è una s dopo rating: il problema potrebbe essere questo.


  • User

    Allora la funzine rating_input_list è questa: ```
    function ratings_input_list($return = false) {

    	global $id;
    
    
    	$categories = get_option('rs_categories');
    	$show = get_post_meta($id, '_rs_categories', true);
    	if (empty($show)) return;
    
    
    	$html = '<ul class="ratings">';
    	foreach ($categories as $cid => $cat) {
    		if (in_array($cid, $show)) {
    			$html .= '<li>';
    			$html .= '<label class="rating_label" style="float: left">' . $cat . '</label> ';
    			$html .= '<div class="rating_value">';
    			$html .= '<a onclick="rateIt(this, ' . $cid . ')" id="' . $cid . '_1" title="1" onmouseover="rating(this, ' . $cid . ')" onmouseout="rolloff(this, ' . $cid . ')"></a>
                      <a onclick="rateIt(this, ' . $cid . ')" id="' . $cid . '_2" title="2" onmouseover="rating(this, ' . $cid . ')" onmouseout="rolloff(this, ' . $cid . ')"></a>
                      <a onclick="rateIt(this, ' . $cid . ')" id="' . $cid . '_3" title="3" onmouseover="rating(this, ' . $cid . ')" onmouseout="rolloff(this, ' . $cid . ')"></a>
                      <a onclick="rateIt(this, ' . $cid . ')" id="' . $cid . '_4" title="4" onmouseover="rating(this, ' . $cid . ')" onmouseout="rolloff(this, ' . $cid . ')"></a>
                      <a onclick="rateIt(this, ' . $cid . ')" id="' . $cid . '_5" title="5" onmouseover="rating(this, ' . $cid . ')" onmouseout="rolloff(this, ' . $cid . ')"></a>
                      <input type="hidden" id="' . $cid . '_rating" name="' . $cid . '_rating" value="0" />';
    			$html .= '</div>';
    			$html .= '</li>';
    		}
    	}
    
    	$html .= "</ul>";
    
    
    	if ($return)
    		return $html;
    	echo $html;
    
    
    }
    
    
    
    Non vedo la s aggiuntiva che dici, cmq può darsi che abbia sbagliato a scrivere qui nel post, nel codice del tema ho controllato più e più volte ma non è colpa della sintassi. L'error_log non sputa fuori niente anche perchè ho abilitato il debug in wp ma non esce nessun errore a video.
    
    
    ciao Massimo