Warning: filemtime(): stat failed for /var/www/wp-content/plugins/embed-privacy/assets/style/embed-privacy.css in /var/www/wp-content/plugins/embed-privacy/inc/class-frontend.php on line 63
[4players.fdpub.de/test/while_true_learn/3042102]
[wp-content/plugins/embed-privacy/inc/class-frontend.php:63 filemtime(), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\Frontend->register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-settings.php:704 do_action('init'), wp-config.php:53 require_once('wp-settings.php'), wp-load.php:50 require_once('wp-config.php'), wp-blog-header.php:13 require_once('wp-load.php'), index.php:17 require('wp-blog-header.php')]


Warning: filemtime(): stat failed for /var/www/wp-content/plugins/embed-privacy/assets/style/astra.css in /var/www/wp-content/plugins/embed-privacy/inc/integration/class-astra.php on line 42
[4players.fdpub.de/test/while_true_learn/3042102]
[wp-content/plugins/embed-privacy/inc/integration/class-astra.php:42 filemtime(), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\integration\Astra::register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-content/plugins/embed-privacy/inc/class-frontend.php:82 do_action('embed_privacy_register_assets'), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\Frontend->register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-settings.php:704 do_action('init'), wp-config.php:53 require_once('wp-settings.php'), wp-load.php:50 require_once('wp-config.php'), wp-blog-header.php:13 require_once('wp-load.php'), index.php:17 require('wp-blog-header.php')]


Warning: filemtime(): stat failed for /var/www/wp-content/plugins/embed-privacy/assets/style/divi.css in /var/www/wp-content/plugins/embed-privacy/inc/integration/class-divi.php on line 151
[4players.fdpub.de/test/while_true_learn/3042102]
[wp-content/plugins/embed-privacy/inc/integration/class-divi.php:151 filemtime(), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\integration\Divi::register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-content/plugins/embed-privacy/inc/class-frontend.php:82 do_action('embed_privacy_register_assets'), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\Frontend->register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-settings.php:704 do_action('init'), wp-config.php:53 require_once('wp-settings.php'), wp-load.php:50 require_once('wp-config.php'), wp-blog-header.php:13 require_once('wp-load.php'), index.php:17 require('wp-blog-header.php')]


Warning: filemtime(): stat failed for /var/www/wp-content/plugins/embed-privacy/assets/style/elementor.css in /var/www/wp-content/plugins/embed-privacy/inc/integration/class-elementor.php on line 150
[4players.fdpub.de/test/while_true_learn/3042102]
[wp-content/plugins/embed-privacy/inc/integration/class-elementor.php:150 filemtime(), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\integration\Elementor::register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-content/plugins/embed-privacy/inc/class-frontend.php:82 do_action('embed_privacy_register_assets'), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\Frontend->register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-settings.php:704 do_action('init'), wp-config.php:53 require_once('wp-settings.php'), wp-load.php:50 require_once('wp-config.php'), wp-blog-header.php:13 require_once('wp-load.php'), index.php:17 require('wp-blog-header.php')]


Warning: filemtime(): stat failed for /var/www/wp-content/plugins/embed-privacy/assets/style/kadence-blocks.css in /var/www/wp-content/plugins/embed-privacy/inc/integration/class-kadence-blocks.php on line 40
[4players.fdpub.de/test/while_true_learn/3042102]
[wp-content/plugins/embed-privacy/inc/integration/class-kadence-blocks.php:40 filemtime(), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\integration\Kadence_Blocks::register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-content/plugins/embed-privacy/inc/class-frontend.php:82 do_action('embed_privacy_register_assets'), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\Frontend->register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-settings.php:704 do_action('init'), wp-config.php:53 require_once('wp-settings.php'), wp-load.php:50 require_once('wp-config.php'), wp-blog-header.php:13 require_once('wp-load.php'), index.php:17 require('wp-blog-header.php')]


Warning: filemtime(): stat failed for /var/www/wp-content/plugins/embed-privacy/assets/style/shortcodes-ultimate.css in /var/www/wp-content/plugins/embed-privacy/inc/integration/class-shortcodes-ultimate.php on line 40
[4players.fdpub.de/test/while_true_learn/3042102]
[wp-content/plugins/embed-privacy/inc/integration/class-shortcodes-ultimate.php:40 filemtime(), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\integration\Shortcodes_Ultimate::register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-content/plugins/embed-privacy/inc/class-frontend.php:82 do_action('embed_privacy_register_assets'), wp-includes/class-wp-hook.php:324 epiphyt\Embed_Privacy\Frontend->register_assets(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-settings.php:704 do_action('init'), wp-config.php:53 require_once('wp-settings.php'), wp-load.php:50 require_once('wp-config.php'), wp-blog-header.php:13 require_once('wp-load.php'), index.php:17 require('wp-blog-header.php')]


Deprecated: Class Jetpack_Geo_Location is deprecated since version 14.3 with no alternative available. in /var/www/wp-includes/functions.php on line 6114
[4players.fdpub.de/test/while_true_learn/3042102]
[wp-includes/functions.php:6114 trigger_error(), wp-includes/functions.php:5742 wp_trigger_error(), wp-content/mu-plugins/jetpack-14.3/modules/geo-location/class.jetpack-geo-location.php:66 _deprecated_class(), wp-includes/class-wp-hook.php:324 Jetpack_Geo_Location->wordpress_init(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-settings.php:704 do_action('init'), wp-config.php:53 require_once('wp-settings.php'), wp-load.php:50 require_once('wp-config.php'), wp-blog-header.php:13 require_once('wp-load.php'), index.php:17 require('wp-blog-header.php')]

while True: learn() - Test, Logik & Kreativität, Nintendo Switch - 4P.de
Warning: Attempt to read property "user_login" on bool in /var/www/wp-content/plugins/co-authors-plus/template-tags.php on line 129
[4players.fdpub.de/test/while_true_learn/3042102]
[wp-content/plugins/co-authors-plus/template-tags.php:162 coauthors__echo(), wp-content/plugins/newspack-plugin/includes/class-patches.php:102 coauthors(), wp-includes/class-wp-hook.php:326 Newspack\Patches::use_cap_for_slack_preview(), wp-includes/plugin.php:205 WP_Hook->apply_filters(), wp-content/plugins/wordpress-seo/src/presenters/slack/enhanced-data-presenter.php:64 apply_filters('wpseo_enhanced_slack_data'), wp-content/plugins/wordpress-seo/src/presenters/slack/enhanced-data-presenter.php:26 Yoast\WP\SEO\Presenters\Slack\Enhanced_Data_Presenter->get(), wp-content/plugins/wordpress-seo/src/integrations/front-end-integration.php:418 Yoast\WP\SEO\Presenters\Slack\Enhanced_Data_Presenter->present(), wp-includes/class-wp-hook.php:324 Yoast\WP\SEO\Integrations\Front_End_Integration->present_head(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-content/plugins/wordpress-seo/src/integrations/front-end-integration.php:389 do_action('wpseo_head'), wp-includes/class-wp-hook.php:324 Yoast\WP\SEO\Integrations\Front_End_Integration->call_wpseo_head(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-includes/general-template.php:3064 do_action('wp_head'), wp-content/themes/newspack-theme/header.php:17 wp_head(), wp-includes/template.php:810 require_once('wp-content/themes/newspack-theme/header.php'), wp-includes/template.php:745 load_template(), wp-includes/general-template.php:48 locate_template(), wp-content/plugins/fd-newspack-extension/includes/templates/single.php:16 get_header(), wp-includes/template-loader.php:106 include('wp-content/plugins/fd-newspack-extension/includes/templates/single.php'), wp-blog-header.php:19 require_once('wp-includes/template-loader.php'), index.php:17 require('wp-blog-header.php')]

Veröffentlicht inTests

while True: learn () (Logik & Kreativität) – Formen und Farben


Warning: Undefined property: Kaltura_ViewRenderer::$context in /var/www/wp-content/plugins/kaltura-video/view/embed-code.php on line 14
[4players.fdpub.de/test/while_true_learn/3042102]
[wp-content/plugins/kaltura-video/lib/Kaltura/ViewRenderer.php:31 include('wp-content/plugins/kaltura-video/view/embed-code.php'), wp-content/plugins/kaltura-video/lib/Kaltura/AllInOneVideoPackPlugin.php:374 Kaltura_ViewRenderer->renderView(), wp-includes/shortcodes.php:434 Kaltura_AllInOneVideoPackPlugin->shortcodeHandler(), do_shortcode_tag(), wp-includes/shortcodes.php:273 preg_replace_callback(), wp-content/plugins/kaltura-video/lib/Kaltura/AllInOneVideoPackPlugin.php:473 do_shortcode(), wp-includes/class-wp-hook.php:324 Kaltura_AllInOneVideoPackPlugin->custom_post_thumbnail_html(), wp-includes/plugin.php:205 WP_Hook->apply_filters(), wp-includes/post-thumbnail-template.php:236 apply_filters('post_thumbnail_html'), wp-includes/post-thumbnail-template.php:92 get_the_post_thumbnail(), wp-content/themes/newspack-theme/inc/template-tags.php:387 the_post_thumbnail(), wp-content/themes/newspack-theme/template-parts/post/large-featured-image.php:55 newspack_post_thumbnail(), wp-includes/template.php:812 require('wp-content/themes/newspack-theme/template-parts/post/large-featured-image.php'), wp-includes/template.php:745 load_template(), wp-includes/general-template.php:206 locate_template(), wp-content/plugins/fd-newspack-extension/includes/templates/single.php:33 get_template_part(), wp-includes/template-loader.php:106 include('wp-content/plugins/fd-newspack-extension/includes/templates/single.php'), wp-blog-header.php:19 require_once('wp-includes/template-loader.php'), index.php:17 require('wp-blog-header.php')]

© Luden.io / Nival

while True: learn()(Logik & Kreativität) von Nival Credit: Luden.io / Nival
Spreu oder Weizen?

Um das klar zu sagen: while True: learn() ist kein Edutainment, sondern ein ganz normales Knobelspiel. Am ehesten erinnert es mich an Gladiabots oder Titel von Zachtronics,  auch wenn man hier keine Programme schreibt. Vielmehr erschafft man automatisierte Vorgänge, in denen variable Eingangswerte – symbolisiert durch geometrische Formen sowie Farben – über mehrere Knotenpunkte (Engl.: Nodes) so sortiert werden, dass man an den „Ausgängen“ Stapel mit den dort geforderten Ausgangswerten (rote Dreiecke oben, blaue Vierecke unten, grüne Kreise in die Mitte usw.) erhält.

Jeder Knoten teilt dabei alle ankommenden Werte auf mindestens zwei Output-Ströme, wobei die Art der Trennung von den Bedingungen abhängt. Manche Nodes trennen die Inputs z.B. so, dass ein Strom alle roten Inputs enthält und der andere alle grünen. Doch was geschieht mit den blauen? Die würden jeweils vom Zufall auf die beiden Ströme verteilt, müssten also über weitere Knoten aus beiden Strömen ausgemustert werden – falls das überhaupt verlangt wird. Oft genug besitzen die finalen Stapel nämlich eine gewisse Fehlertoleranz. Sprich, man erschafft keine perfekten, sondern lediglich hinreichend genaue Abläufe.

Und das ist eben das Knifflige hier: Es gibt fast keine Knotenpunkte, die für mein Verständnis exakt sortieren, weshalb man sich erst einmal in dieses System hineindenken muss, bevor man versteht, wie man die Werte der „unsauberen“ Datenströme über jeweils mehrere Schritte so aufteilt, dass sie mit ausreichender Genauigkeit den richtigen Stapel erreichen. Durch dieses Umdenken entstehen angenehm knackige Herausforderungen, die ich so aus keinem anderen Spiel kenne, und die mit jeder Aufgabe auch neue Kopfnüsse bieten. Manche Sortier-Routinen muss man der KI zudem erst antrainieren, was im Ausnahmefall durch manuelles “Vorspielen” der zu analysierenden Situation geschieht.

Geradlinige Ereignisketten

[GUI_STATICIMAGE(setid=88751,id=92618355)]
Solltet ihr eine Idee haben, wie man das eleganter lösen könnte… © 4P/Screenshot

Ganz frei gestaltet man die Abläufe dabei nicht, denn in den meisten Rätseln sind nur wenige der im Spiel vorhandenen Knotenpunkte überhaupt verfügbar und das schränkt die Kreativität leider ein. Zuvor gelöste Sortieraufgaben sind zwar als einzelne Knoten verfügbar, was die Übersichtlichkeit erhöht. In einem Editor erstellt man sogar vollkommen frei eigene Knoten – aber genau die darf man fast nie verwenden. Schade: Als weitgehend freies System hätte ich vermutlich noch mehr Spaß mit while True: learn() gehabt…

… was auch daran liegt, dass mir das reine Zusammendenken komplexer Ereignisketten nicht allzu sehr liegt. Immerhin muss man vorhersehen, wie die Werte über mehrere Nodes hinweg auf immer mehr Datenströme aufgeteilt werden: „Wenn unten links Grün von Rot und anschließend Vierecke von andere Formen getrennt werden, weiter oben aber blaue Dreiecke von Kreisen…“ Es ist ein bisschen wie Sudoku, das mir aus einem ganz ähnlichen Grund nicht zusagt, und wem das ähnlich geht, der sei darauf hingewiesen. Ein allgemeiner Nachteil ist schließlich der bei komplexen Lösungen so überladende Editor, dass die Übersicht stark leidet.

[GUI_STATICIMAGE(setid=88751,id=92618361)]
Viele Aufgaben muss man nicht lösen, bieten aber interessante zusätzliche und oft auch angenehm knifflige Herausforderungen. © 4P/Screenshot

Großes Lob verdient hingegen die Steuerung, denn im Wesentlichen ist der Knotenbaukasten komplett per Touch spielbar. Man zieht die benötigen Teile einfach in und über das Bild und  tippt sich durch Drop-Down-Menüs. Manche davon sind eine Idee zu klein, sodass man gelegentlich daneben „tatscht“, aber das ist verschmerzbar. Zumal man immer auch den Cursor per Analogstick umherfahren und alle Funktionen, darunter sogar das Rückgängigmachen mehrerer Aktionen sowie das Markieren und Kopieren ganzer Knotensysteme, über verschiedene Tasten ausführen kann.

Verdientes Investieren

[GUI_STATICIMAGE(setid=88751,id=92618357)]
Als Ausnahme trainiert man die Sortier-Routinen auch durch das “Vorspielen” der zu analysierenden Situationen. © 4P/Screenshot

Richtig gut gefällt mir auch, wie viele Aufgaben es abseits des roten Fadens gibt, sodass man praktisch nie in einer Sackgasse festhängt. Außerdem kauft man neue Hardware (Speichererweiterungen, Festplatten, Prozessoren), um Abläufe z.B. zu beschleunigen oder zusätzliche Lösungen pro Aufgabe zu speichern. Nicht zuletzt schmückt man das als Arbeitszimmer dargestellte Hauptmenü mit Pflanzen, Figuren und Postern oder verpasst sich gar eine neue Frisur.

Das Geld dafür verdient man selbstverständlich durch das Erledigen von Aufgaben, zu denen Lösungen für fiktive Startup-Unternehmen zählen, an deren Umsatz man daraufhin beteiligt wird. Sprich, je effektiver die Sortierung funktioniert, desto höher fällt das Einkommen aus. Das ist eine nette Ergänzung des im Grunde trotzdem geradlinigen Ablaufs ohne potentielle Sackgassen.

Immerhin spielt man einen Entwickler, der mit seiner Arbeit Geld verdient – und so ganz nebenbei eine Software erschaffen will, welche die Gefühle und Sprache seiner Katze übersetzt. Die hält er nämlich für so clever, dass sie glatt programmieren könnte, nur muss er sie dafür erst mal verstehen. Mit anderen Worten: while True: learn() ist auch im Drumherum angenehm unterhaltsam, was die grundsätzlich trockene Materie  ein wenig auflockert. Ich muss zwar zugeben, dass ich mich auch hier mit manchen Analogien und Erklärungen zum Maschinellen Lernen schwer tue – finde es aber klasse, dass man direkt im Spiel viele Links zu externen Informations- und Diskussionsstellen findet!

Hinterlassen Sie bitte einen Kommentar.


Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/wp-content/plugins/fd-admo-suite/public/templates/template-parts/ads/taboola.php on line 29
[4players.fdpub.de/test/while_true_learn/3042102]
[wp-content/plugins/fd-admo-suite/public/templates/template-parts/ads/taboola.php:29 trim(), wp-content/plugins/fd-admo-suite/public/templates/template-parts/ads/taboola.php:124 add_taboola_loader(), wp-includes/template.php:812 require('wp-content/plugins/fd-admo-suite/public/templates/template-parts/ads/taboola.php'), wp-content/plugins/fd-admo-suite/public/class-fd-admo-suite-public.php:263 load_template(), wp-content/plugins/fd-admo-suite/public/class-fd-admo-suite-public.php:1042 Fd_Admo_Suite_Public::override_template_part(), wp-content/plugins/fd-admo-suite/public/class-fd-admo-suite-public.php:221 Fd_Admo_Suite_Public->display_ad_slot(), wp-includes/class-wp-hook.php:324 Fd_Admo_Suite_Public->{closure}(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-content/plugins/fd-newspack-extension/includes/templates/single.php:69 do_action('newspack_theme_main_bottom'), wp-includes/template-loader.php:106 include('wp-content/plugins/fd-newspack-extension/includes/templates/single.php'), wp-blog-header.php:19 require_once('wp-includes/template-loader.php'), index.php:17 require('wp-blog-header.php')]


Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/wp-content/plugins/fd-admo-suite/public/templates/template-parts/ads/taboola.php on line 30
[4players.fdpub.de/test/while_true_learn/3042102]
[wp-content/plugins/fd-admo-suite/public/templates/template-parts/ads/taboola.php:30 trim(), wp-content/plugins/fd-admo-suite/public/templates/template-parts/ads/taboola.php:124 add_taboola_loader(), wp-includes/template.php:812 require('wp-content/plugins/fd-admo-suite/public/templates/template-parts/ads/taboola.php'), wp-content/plugins/fd-admo-suite/public/class-fd-admo-suite-public.php:263 load_template(), wp-content/plugins/fd-admo-suite/public/class-fd-admo-suite-public.php:1042 Fd_Admo_Suite_Public::override_template_part(), wp-content/plugins/fd-admo-suite/public/class-fd-admo-suite-public.php:221 Fd_Admo_Suite_Public->display_ad_slot(), wp-includes/class-wp-hook.php:324 Fd_Admo_Suite_Public->{closure}(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-content/plugins/fd-newspack-extension/includes/templates/single.php:69 do_action('newspack_theme_main_bottom'), wp-includes/template-loader.php:106 include('wp-content/plugins/fd-newspack-extension/includes/templates/single.php'), wp-blog-header.php:19 require_once('wp-includes/template-loader.php'), index.php:17 require('wp-blog-header.php')]


Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/wp-content/plugins/fd-admo-suite/public/templates/template-parts/ads/taboola.php on line 31
[4players.fdpub.de/test/while_true_learn/3042102]
[wp-content/plugins/fd-admo-suite/public/templates/template-parts/ads/taboola.php:31 trim(), wp-content/plugins/fd-admo-suite/public/templates/template-parts/ads/taboola.php:124 add_taboola_loader(), wp-includes/template.php:812 require('wp-content/plugins/fd-admo-suite/public/templates/template-parts/ads/taboola.php'), wp-content/plugins/fd-admo-suite/public/class-fd-admo-suite-public.php:263 load_template(), wp-content/plugins/fd-admo-suite/public/class-fd-admo-suite-public.php:1042 Fd_Admo_Suite_Public::override_template_part(), wp-content/plugins/fd-admo-suite/public/class-fd-admo-suite-public.php:221 Fd_Admo_Suite_Public->display_ad_slot(), wp-includes/class-wp-hook.php:324 Fd_Admo_Suite_Public->{closure}(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-content/plugins/fd-newspack-extension/includes/templates/single.php:69 do_action('newspack_theme_main_bottom'), wp-includes/template-loader.php:106 include('wp-content/plugins/fd-newspack-extension/includes/templates/single.php'), wp-blog-header.php:19 require_once('wp-includes/template-loader.php'), index.php:17 require('wp-blog-header.php')]


Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/wp-content/plugins/fd-admo-suite/public/templates/template-parts/ads/taboola.php on line 32
[4players.fdpub.de/test/while_true_learn/3042102]
[wp-content/plugins/fd-admo-suite/public/templates/template-parts/ads/taboola.php:32 trim(), wp-content/plugins/fd-admo-suite/public/templates/template-parts/ads/taboola.php:124 add_taboola_loader(), wp-includes/template.php:812 require('wp-content/plugins/fd-admo-suite/public/templates/template-parts/ads/taboola.php'), wp-content/plugins/fd-admo-suite/public/class-fd-admo-suite-public.php:263 load_template(), wp-content/plugins/fd-admo-suite/public/class-fd-admo-suite-public.php:1042 Fd_Admo_Suite_Public::override_template_part(), wp-content/plugins/fd-admo-suite/public/class-fd-admo-suite-public.php:221 Fd_Admo_Suite_Public->display_ad_slot(), wp-includes/class-wp-hook.php:324 Fd_Admo_Suite_Public->{closure}(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-content/plugins/fd-newspack-extension/includes/templates/single.php:69 do_action('newspack_theme_main_bottom'), wp-includes/template-loader.php:106 include('wp-content/plugins/fd-newspack-extension/includes/templates/single.php'), wp-blog-header.php:19 require_once('wp-includes/template-loader.php'), index.php:17 require('wp-blog-header.php')]