Verfasste Forenbeiträge

Ansicht von 9 Antworten - 1 bis 9 (von insgesamt 9)
  • Thread-Starter treibstoff

    (@treibstoff)

    Der Entscheidende Hinweis zur Lösung meines Problems kam vom Moderator des englischen WP Forum: pre_get_posts war mir noch nicht bekannt.

    Die Lösung dann mit dieser Funktion:

    function numberposts_for_index( $query ) {
    if( $query->is_main_query() && ! is_admin() && $query->is_home() ) {
    $query->set( 'posts_per_page', '4' );
    $query->set('post_status','future,publish');
    }}
    add_action( 'pre_get_posts', 'numberposts_for_index' );

    und auf der Index.php jetzt:

    <?php 
    if(have_posts()) :
        while(have_posts())  : the_post();?>
    <?php the_content('<br />→ weiterlesen …'); ?>
    <?php endwhile; ?>
    <div><?php the_posts_pagination( array(
        'mid_size' => 4,
        'prev_text' => __( '←', 'neuere Beiträge' ),
        'next_text' => __( '→', 'ältere Beiträge' ),
    ) ); ?></div><p>&nbsp;</p>
            <?php else :?>
    <h3><?php _e('404 Error: Not Found', ''); ?></h3>
    <?php endif; ?>
    <?php wp_reset_postdata();?>

    und für Interessierte:

    „Nearly everyone has pagination issues with custom queries (including get_posts()) on templates on their initial foray into subject. This is compounded with a lot of bad examples on the internets. The issues introduced are not readily apparent.

    The only pagination function that really works with custom queries is paginate_links(). All other functions assume you want to paginate the requested page and not the queried posts.

    Even with paginate_links(), you still run into trouble by trying to use the “paged” query var. It rightly belongs to the main query and not your custom query. Trying to usurp it for your own means does not work very well. IMO you’re better off introducing your own pagination query var to avoid any confusion and cross talk between queries.

    Better yet, don’t do custom queries on a template if those results are going to be the only queried content on the page. Instead, alter the main query through the “pre_get_posts” action so it returns the results your custom query would have returned. Then there’s no need for another query, and WP handles pagination for you. Then most pagination functions will work as intended and you don’t have to use paginate_links(), though it would still work.“

    • Diese Antwort wurde geändert vor 1 Jahr, 7 Monaten von treibstoff. Grund: Korrektur
    • Diese Antwort wurde geändert vor 1 Jahr, 7 Monaten von Hans-Gerd Gerhards.
    Thread-Starter treibstoff

    (@treibstoff)

    hatte ebenfalls ein entsprechendes Ticket eröffnet:
    https://core.trac.wordpress.org/ticket/51084

    • Diese Antwort wurde geändert vor 3 Jahren, 7 Monaten von treibstoff.
    • Diese Antwort wurde geändert vor 3 Jahren, 7 Monaten von treibstoff.
    Thread-Starter treibstoff

    (@treibstoff)

    In diesem älteren Ticket wurden diese Fehler im Core erwartet:
    „PHP 7.4 introduces a „Trying to access array offset on value of type …“ warning for accessing null/bool/int/float/resource (everything but array, string and object) as if it were an array.“
    und
    „I expect more issues to be reported – both in Core as well as in plugins and themes – once PHP 7.4 is out and starting to be used for real.“

    https://core.trac.wordpress.org/ticket/47704

    Thread-Starter treibstoff

    (@treibstoff)

    Ja…das sieht so aus…weil es weder mit meinem selbstgeschriebenen Thema zu tun hat, noch mit Plugins, noch mit dem was ich in der functions.php alles am laufen habe.
    Mich wundert nur, dass ich nichts über den Zusammenhang von „Trying to access array offset on value of type bool“ mit „class-wp-privacy-policy-content“ gefunden habe.
    Auch kein entsprechendes Ticket…..

    Bei der ganze Fehlersuche…hab ich immerhin noch mitbekommen, dass der Opcache bei mir gar nicht eingeschaltet war….Bei meinem Hoster, 1&1, musste ich das erst selber initalisieren….

    • Diese Antwort wurde geändert vor 3 Jahren, 7 Monaten von treibstoff.
    Thread-Starter treibstoff

    (@treibstoff)

    debug.log hatte ich eigentlich immer am laufen….wie du schon sagst egal.

    Mit PHP 7.4 (von 7.2) auf das ich nach WP 5.5 ebenfalls upgedated hatte, kamen noch einige mehr Meldungen…auf depreciated class-phpmailer bzw. class-smtp in den includes…oder get_bloginfo noch mit „siteurl“, die ich alle schon abgearbeitet & entsprechend im Code geändert habe mit Erfolg.

    Allerdings bekomme ich auch folgende Notice & Warnings, wo ich keine Idee habe, wonach ich suchen soll:
    Notice: Trying to access array offset on value of type bool in /homepages/…/wp-admin/includes/class-wp-privacy-policy-content.php on line 96

    Notice: Trying to access array offset on value of type bool in /homepages/…/wp-admin/includes/class-wp-privacy-policy-content.php on line 97

    Warning: Cannot modify header information – headers already sent by (output started at /homepages/…/wp-admin/includes/class-wp-privacy-policy-content.php:96) in /homepages/../wp-admin/admin-header.php on line 9

    Line 96 & 97:
    ‘plugin_name’ => $data[‘plugin_name’],
    ‘policy_text’ => $data[‘policy_text’],

    Ich habe alle Plugins zwischenzeitlich inaktiviert….ohne Erfolg…ebenso alles was an Funktionen, die ich in meiner functions.php habe….auch ohne Erfolg.

    Google ich danach, sind diese Meldungen immer mit Plugins verbunden.
    Insofern weiß ich nicht wie weiter nach der Fehlerursache suchen könnte.

    Vielleicht kannst Du da auch helfen…oder ich mache einen neuen Thread auf.
    lieben gruss

    • Diese Antwort wurde geändert vor 3 Jahren, 7 Monaten von treibstoff.
    • Diese Antwort wurde geändert vor 3 Jahren, 7 Monaten von treibstoff.
    • Diese Antwort wurde geändert vor 3 Jahren, 7 Monaten von treibstoff.
    Thread-Starter treibstoff

    (@treibstoff)

    danke!
    Vor WP 5.5 ging die Variable aber durch.
    Muss damit nicht an Php liegen sondern an WP code??

    • Diese Antwort wurde geändert vor 3 Jahren, 7 Monaten von treibstoff.
    Thread-Starter treibstoff

    (@treibstoff)

    bscu…Danke….da kann ich ja beruhigt sein. 🙂

    warum aber nun empty ($user_ID) bzw. !empty ($user_ID)??
    Dachte zum testen, ob eine Variable nicht leer ist reicht: !$user_id

    Thread-Starter treibstoff

    (@treibstoff)

    Danke für Deine Mühe, bscu.
    Das hat geholfen…und die Eintragsfunktion läuft auch weiterhin einwandfrei.

    Für das Gästebuch gibt es keinen Hersteller.
    Das hab ich mal aus der abgewandelten Kommentarfunktion von WP erstellt….abgewandelte comment.php…
    Und es läuft bislang (auch wenn es nicht grade viel genutzt wird ) einwandfrei…und vor allem bis auf ganz wenige Aussnahmen in vielen Jahren: spamfrei.
    Insofern hatte ich bislang lange Jahre kein Auge mehr darauf werfen brauchen….

    Warum aber Notlösung??

    • Diese Antwort wurde geändert vor 3 Jahren, 7 Monaten von treibstoff.
    Thread-Starter treibstoff

    (@treibstoff)

    ja habe ich,danke.
    auch in der Master List nichts passendes gefunden für
    „PHP Notice: Undefined variable: user_ID in /homepagesxxxxxx/comments_guestbook.php on line 102“

    Allenfalls Hinweise auf ebensolche Fehlermeldungen, die in bestimmten Plugins zu suchen waren…
    Das trifft hier aber nicht zu.

    • Diese Antwort wurde geändert vor 3 Jahren, 7 Monaten von treibstoff.
Ansicht von 9 Antworten - 1 bis 9 (von insgesamt 9)