Woocommerce – fatal error

Zvolené téma obsahuje celkem 6 odpovědí. Do diskuze (4 účastníci) se naposledy zapojil uživatel  jjp a poslední změna je stará 4 roky, 9 měsíců.

Aktuálně je na stránce zobrazeno 7 příspěvků - 1. až 7. (z celkem 7)
  • Autor
    Příspěvky
  • #25912

    jjp
    Participant

    Zdravím,
    web i administrace funguje, ale pokud přejdu do produkty -> produkty, tak mi vyskočí chyba:
    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 72 bytes) in /data/web/virtuals/117640/virtual/www/wp-includes/taxonomy.php on line 2737

    V eshopu mám tisíce položek. Vše fungovalo. Až když jsem si v administrace chtěl zobrazit 700 položek místo 20, tak mi toto vyskočilo a pořád vyskakuje. Jak se toho zbavit?

    Děkuji moc předem za pomoc

    #25913

    jjp
    Participant

    Případně jakým způsobem by se dal ten počet položek vrátit zpět na 20, když se nemůžu do té administrace kvůli tomu dostat?

    #25920

    endwin
    Participant

    Zdravim.
    Máte přístup do db?

    #25921

    endwin
    Participant

    A kde přesně jste to v administraci upravoval? Mám pocit že to v základnim WC neni.

    #25922

    Musilda
    Participant
    Web

    Zvýšit memory limit, nebo v db upravit příslušné option.

    #25923

    admin
    Keymaster
    Web

    Tak to je docela vtipná chyba :-)

    Možností je více, ale hlavně je třeba si uvědomit, že je toto nastavení unikátní pro každého uživatele. Někdo tam může mít nastaveno 20 produktů na stránku, zatímco další uživatel jich tam bude mít 700.

    1) Asi nejsnadnější způsob je využití filtru get_user_option_{$option}. Do souboru functions.php (v adresáři se šablonou) stačí vložit následující funkci:

    function separatista_pocet_produktu_na_stranku( $result, $option, $user ) {
      return 20;
    }
    add_filter( 'get_user_option_edit_product_per_page', 'separatista_pocet_produktu_na_stranku', 10, 3 );

    Potom se sice bude na záložce “Nastavení zobrazených informací” objevovat pouze 20 produktů, ale musíte to ještě potvrdit pomocí tlačítka “Použít”, aby se hodnota uložila také do databáze. Potom můžete tuto funkci zase odebrat a mělo by to fungovat…

    2) Změnit hodnotu edit_product_per_page v databázi v tabulce wp_usermeta (pro konkrétního uživatele).

    3) Navýšení PHP paměti (memory_limit) je také možnost, ale těžko říci, kolik ji bude nakonec potřeba :-)

    #25927

    jjp
    Participant

    Díky. To nastavení memory_limitu jsem dnes někde na webu našel, ale bohužel mi to nefungovalo. Asi i tak malá hodnota :)

    Nakonec se mi to podařilo vyřešit tím způsobem, že jsem dal do adresy /wp-admin/edit.php?post_status=draft&post_type=product

    Díky tomu jsem se dostal alespoň do konceptů. Jelikož žádné nemám, tak se stránka načetla a na ní bylo možné změnit počet zobrazovaných položek zpátky na 20.

    Jelikož mám ve woocommerce hodně produktů, tak jsem u nich chtěl najednou editovat kategorie atd. ať to nemusím dělat jen po dvaceti. Asi ale budu muset najít jiné řešení a naučit se pracovat s databází :)

Aktuálně je na stránce zobrazeno 7 příspěvků - 1. až 7. (z celkem 7)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.