Ik ben aan een website aan het werken waar men tegen de adviezen in nogal met veel verschillende plug-ins heeft lopen rommelen (installeren, verwijderen, aan- en uitzetten, enz). Nu is de situatie zo dat er in de wp_options tabel bij de entry met alle instellingen van het gebruikte thema een stukje PHP-code terecht is gekomen, dat nu onderaan elke pagina, nog net voor het sluiten van de </body>-tag, tussen <script>-tags wordt gezet. Afgezien van dat dit natuurlijk nooit kan werken, is dit stuk code ook helemaal niet nodig, ook niet als het in PHP zou werken, en het geeft nu dus uiteraard een JavaScipt-error.
Ik wil dit er uit, maar ik weet niet hoe. Ik kan het namelijk niet rechtstreeks in de tabel aanpassen:
Er wordt gebruik gemaakt van het thema OceanWP. De database entry is:
De data in de wp_options tabel bevat data in een JSON-formaat, ik weet niet precies hoe dat werkt, maar ik zie het stuk code daar wel letterlijk instaan, tussen andere opgeslagen opties:
Dat stuk tussen de aanhalingstekens is precies wat nu onderaan de website in de code verschijnt tussen <script>-tags. Als ik in dit databaseveld dit stuk code er tussenuit haal, zijn alle opties/modificaties die aan het thema zijn gedaan weer gereset naar default en zijn alle instellingen dus weg. En dat terwijl ik naar mijn idee maar 1 instelling heb verwijderd.
Ik vermoed dat dit een restant is van een instelling van een oude plugin. Ik dacht de plugin 'code-snippets' als dader aan te kunnen wijzen, omdat ik een ongebruikte tabel "snippets" vond waar ook exact dezelfde code vond zoals die in die options tabel staat. Ik heb die plugin opnieuw geïnstalleerd, en vervolgens op de juiste manier weer gedeïnstalleerd, zodat de snippets-tabel netjes werd verwijderd (zoals het hoort), maar hiermee was de code uit de options-tabel nog niet weg.
Het kan ook zijn dat iemand ergens een stuk PHP-code heeft ingevoerd in een veld dat bedoeld was voor custom javascript, maar als dat het geval zou zijn, dan zou ik dat toch ergens anders in de database moeten kunnen vinden, of op de theme-pagina (customizer) maar dat is niet zo.
Hoe verwijder ik dit stuk uit mijn options-tabel zodat het niet meer op de site verschijnt?
Ik wil dit er uit, maar ik weet niet hoe. Ik kan het namelijk niet rechtstreeks in de tabel aanpassen:
Er wordt gebruik gemaakt van het thema OceanWP. De database entry is:
option_id | option_name | option_value | autoload |
---|---|---|---|
123 | theme_mods_oceanwp | (JSON string met opties) | yes |
De data in de wp_options tabel bevat data in een JSON-formaat, ik weet niet precies hoe dat werkt, maar ik zie het stuk code daar wel letterlijk instaan, tussen andere opgeslagen opties:
code:
1
| s:534:"//verwijdert zoomeffect op producten\nfunction remove_image_zoom_support() {\n remove_theme_support( \'wc-product-gallery-zoom\' );\n}\nadd_action( \'wp\', \'remove_image_zoom_support\', 100 );\n\n\n//verandert de tekst op de order received pagina\nadd_filter(\'woocommerce_thankyou_order_received_text\', \'woo_change_order_received_text\', 10, 2 );\nfunction woo_change_order_received_text( $str, $order ) {\n $new_str = \'Bedankt voor uw bestelling. We nemen binnen 2 werkdagen contact met u op om een dag in te plannen.\';\n return $new_str;\n}"; |
Dat stuk tussen de aanhalingstekens is precies wat nu onderaan de website in de code verschijnt tussen <script>-tags. Als ik in dit databaseveld dit stuk code er tussenuit haal, zijn alle opties/modificaties die aan het thema zijn gedaan weer gereset naar default en zijn alle instellingen dus weg. En dat terwijl ik naar mijn idee maar 1 instelling heb verwijderd.
Ik vermoed dat dit een restant is van een instelling van een oude plugin. Ik dacht de plugin 'code-snippets' als dader aan te kunnen wijzen, omdat ik een ongebruikte tabel "snippets" vond waar ook exact dezelfde code vond zoals die in die options tabel staat. Ik heb die plugin opnieuw geïnstalleerd, en vervolgens op de juiste manier weer gedeïnstalleerd, zodat de snippets-tabel netjes werd verwijderd (zoals het hoort), maar hiermee was de code uit de options-tabel nog niet weg.
Het kan ook zijn dat iemand ergens een stuk PHP-code heeft ingevoerd in een veld dat bedoeld was voor custom javascript, maar als dat het geval zou zijn, dan zou ik dat toch ergens anders in de database moeten kunnen vinden, of op de theme-pagina (customizer) maar dat is niet zo.
Hoe verwijder ik dit stuk uit mijn options-tabel zodat het niet meer op de site verschijnt?