Support » Plugins » Multisites, functions.php, Snippets – Fehler beim Speichern/Ändern

  • Moin

    Ich habe eine Installation für Multisites eingerichtet. Nur mit der functions.php und dem Snippets Plugin blicke ich noch nicht ganz durch.

    Also ohne Plugin schreibe ich alle meine Funktionen in die functions.php meines Themes. Alle Seiten dieser Installation nutzen das selbe Theme. Wenn ich das jetzt richtig verstehe, stehen ALLE Funktionen ALLEN Seiten zur Verfügung, ohne Ausnahme.

    Bei den meisten Funktionen passt das, bei Einer dürfte es Probleme geben, die blendet Beiträge bestimmter Kategorien aif Grund iher ID auf der Startseite aus. Da es Überschneidungen geben wird, wird das zu Problemen führen. Wird also weg fallen müssen. Auf Grund der Umstellung wir dieses Beispiel sehr warscheinlich sowieso nicht mehr benötigt.

    Ich mag aber sowieso mehr die Verwaltung über Snippets.

    Im Dashboard jener Seite die als Hauptseite definiert ist, habe ich Zugriff auf die Snippets und sie machen sich im Frontend entsprechend bemerkbar. Im Dashboard der Restlichen Seiten gibt es die Snippets nicht. Und sie werden offensichtlich im Frontend auch nicht ausgeführt.
    Im Dashboard der Netzwerkverwaltung gibt es die Snippets wieder. Die Liste leer. Ich muss sie da also neu erfassen. Und sie werden da wohl auch wieder ohne Ausnahmen allen Seiten zur Verfügung stehen.

    Es war mit möglich in den Netwerkeinstellungen ein einziges Snippet zu erfassen und zu speichern. Weitere können erstellt werden. Ich kann sie aber nacgtäglich nicht mehr bearbeiten. Beim Speichern (ohne Aktivierung) kommt folgender Fehler:

    Fatal error: Call to undefined function get_current_screen() in /home/[...]/wp-content/plugins/code-snippets/php/class-db.php on line 50

    Die entsprechende Funktion:

    /**
    * Validate the multisite parameter of the get_table_name() function
    * @param bool|null $network
    * @return bool
    */
    function validate_network_param( $network ) {
    
       /* If multisite is not active, then the parameter should always be false */
       if ( ! is_multisite() ) {
          return false;
       }
    
       /* If $multisite is null, try to base it on the current admin page */
       if ( is_null( $network ) && get_current_screen() ) { /* Zeile 50 */
          $network = get_current_screen()->in_admin( 'network' );
       }
    
       return $network;
    }

    Gruß René

    • Dieses Thema wurde geändert vor 5 Monate, 2 Wochen von  .
Ansicht von 1 Antwort (von insgesamt 1)
  • So, nach durchgearbeiteter Nacht, es gibt noch viel einzurichten und am Design zu schrauben, habe ich den Verdacht, dass sich dieser Speicherfehler auch im Frontend bemerkbar macht, wenn auch ohne hässliche Fehlerausgabe auf der Seite.

    Ich habe eine Funktion, welche ein zusätzliches Menu registriert, das ich ganz oben auf der Seite horizontal ausgebe. Das hat aber nur auf der Hauptdomain funktioniert, obwohl das Snippet in den Netzwerkeinstellungen angegeben hat, es sei Netzwerkweit aktiviert.

    Ich habe das Snippet deaktiviert und die Funktion direkt in die functions.php geschrieben, und siehe da, das Menu kommt jetzt auch auf den weiteren Subdomains.

    Erwähnt sei noch, im Adminbereich gab es nur 1 Menu Position, jetzt sind es überall zwei.

Ansicht von 1 Antwort (von insgesamt 1)