Code für das Ausblenden des Kommentar-URL-Feldes funktioniert nicht

  • Hallo zusammen!

    Ich habe ein kleines Problem!

    Und zwar möchte ich bei Artikeln die älter sind als 60 Tage das Feld für dei Webseiten-Url ausblenden lassen!

    Der Code für das Feld schaut so aus:

    PHP
    $fields['url'] = '<p class="comment-form-url"><label for="url">' . __( 'Website', 'ari') . '</label>' .
                        '<br/><input id="url" name="url" type="text" value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="50" /></p>';

    Davor muss folgender Code eingebunden werden:

    PHP
    <$posting_time = get_the_time('U');
    if ( (time() - $posting_time) < (3600*24*30) ) {

    Danach

    PHP
    }

    oder wenn man noch einen Text anzeigen lassen will:

    PHP
    } else { ?>
    <p><small><b>Hier kommt Dein Text rein</b></small></p>
    <?php } ?>

    Wobei der nachfolgende Code wieder reines PHP ist.

    Wenn ich das Ausblenden mit dem folgenden Code versuche, klappt das Problemlos:

    PHP
    $fields['twitter'] = '<p class="comment-form-author"><label for="twitter">Twitter Benutzername <span class="required">ohne @</span></label>' . '<br /><input id="author" name="atf_twitter_id" type="text" value="" size="50" /></p>';

    Hat jemand eine Idee wie man das löst / lösen kann?

    Danke im voraus

    Marcus

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Wordpress lässt das fields array nachträglich noch doch mehrere filter laufen. Wahrscheinlich wird dort das url-field wieder hinzugefügt/repariert. Entweder du findest eine Stelle, wo das fields-array nachher nicht mehr durch filter läuft, doch das ist mühsam oder du schreibst einen filter, der das url-Feld wieder herausfiltert.

    In der Datei, welche du momentan bearbeitest

    PHP
    $fields['posting_time'] = '<span id="posting_time" style="display: none;">'.get_the_time('U').'</span>';

    und dann, wohl am besten im functions.php deines Themes:

  • Dass du das ganz in einer functions.php hast, ändert wohl viel. Welche functions.php ist es denn? und wie heisst die Funktion, in der dein Code drin ist?

  • Hallo Jogibär!

    Sorry, für die zusätzlichen Unannehmlichkeiten!

    Das ist die functions.php des themes, und der Komplette Code-Block sieht so aus:

  • Achso. Dann probiere mal deinen allerersten Ansatz, füge dein else ein, mit der Änderung: [COLOR=#000000]

    PHP
    } else {
         unset ($fields['url']);
    }


    [COLOR=#0000BB][/COLOR][/COLOR]

  • Hallo Jogibär!

    Soweit funktioniert es.

    Wie aber ist es jetzt möglich, anstatt des ausgeblendeten Text-Felds einen Text einzufügen, damit die Leute auch wissen, weshalb das URL-Feld nicht mehr eingeblendet wird?

    Danke und Gruß

    Marcus

  • [COLOR=#000000]Ersetze mal das von meinem letzten Post durch das hier:

    PHP
    } else {
         $fields['url'] = '<p>Bei sooooooooooooo uralten Artikeln kann man keine URL mehr angeben</p>';
    }

    [/COLOR]

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!