[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f2xUQ7u_O9Lmk1mQ5c1rFX_TvPPgT2V1_XrqRO8D03z8":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":23,"download_link":24,"security_score":25,"vuln_count":26,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":147,"crawl_stats":36,"alternatives":151,"analysis":259,"fingerprints":1225},"teachpress","teachPress","9.0.12","winkm89","https:\u002F\u002Fprofiles.wordpress.org\u002Fwinkm89\u002F","\u003Cp>This plugin is a powerful BibTeX compatible multi user publication management for WordPress. teachPress adds an own separate database to your WordPress installation which gives you the opportunity to handle hundreds of publications from different users. You can use it with WordPress 3.9.0 or higher.\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>BibTeX compatible multi user publication management\u003C\u002Fli>\n\u003Cli>BibTeX import for publications\u003C\u002Fli>\n\u003Cli>BibTeX and RTF export for publications\u003C\u002Fli>\n\u003Cli>Direct data import from NCBI PubMed and Crossref.org\u003C\u002Fli>\n\u003Cli>RSS feeds for publications\u003C\u002Fli>\n\u003Cli>Many shortcodes for an easy using of publication lists, publication searches or for text references\u003C\u002Fli>\n\u003Cli>Dymamic meta data system for adding new custom fields to publication entries\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Supported Languages\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>English\u003C\u002Fli>\n\u003Cli>German\u003C\u002Fli>\n\u003Cli>French (o)\u003C\u002Fli>\n\u003Cli>Italian (o)\u003C\u002Fli>\n\u003Cli>Portuguese (Brazil) (o)\u003C\u002Fli>\n\u003Cli>Slovak (o)\u003C\u002Fli>\n\u003Cli>Slovenian (o)\u003C\u002Fli>\n\u003Cli>Spanish (o)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>(o) Incomplete language files\u003C\u002Fp>\n\u003Ch4>Note\u003C\u002Fh4>\n\u003Cp>Due to the fact that the most teachpress users uses only the publication module, the course management modul is no longer a part of the default plugin. It’s now separatly available over GitHub.\u003C\u002Fp>\n\u003Ch4>Start with teachPress\u003C\u002Fh4>\n\u003Cp>The following article describes the fist steps for \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwinkm89\u002FteachPress\u002Fwiki\u002FStart-with-teachPress\" rel=\"nofollow ugc\">starting with teachPress\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Further information\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwinkm89\u002FteachPress\u002Fwiki\" rel=\"nofollow ugc\">Wiki\u002FDocumentation\u003C\u002Fa> \u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwinkm89\u002FteachPress\" rel=\"nofollow ugc\">teachPress on GitHub\u003C\u002Fa>  \u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fmtrv.wordpress.com\u002Fteachpress\u002F\" rel=\"nofollow ugc\">Developer blog\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>Copyright 2008-2025 by Michael Winkler\u003C\u002Fp>\n\u003Cp>This program is free software; you can redistribute it and\u002For modify\u003Cbr \u002F>\nit under the terms of the GNU General Public License as published by\u003Cbr \u002F>\nthe Free Software Foundation; either version 2 of the License, or\u003Cbr \u002F>\n(at your option) any later version.\u003C\u002Fp>\n\u003Cp>This program is distributed in the hope that it will be useful,\u003Cbr \u002F>\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\u003Cbr \u002F>\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\u003Cbr \u002F>\nGNU General Public License for more details.\u003C\u002Fp>\n\u003Cp>You should have received a copy of the GNU General Public License\u003Cbr \u002F>\nalong with this program; if not, write to the Free Software\u003Cbr \u002F>\nFoundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\u003C\u002Fp>\n\u003Ch4>Licence information of external resources\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Wikindx bibtex import classes (bibtexParse) by Mark Grimshaw-Aagaard & Stéphane Aulery (Licence: ISC License)\u003C\u002Fli>\n\u003Cli>Font Awesome Free 5.10.1 by fontawesome (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\u003C\u002Fli>\n\u003Cli>Academicons 1.8.6 by James Walsh (Font: SIL OFL 1.1, CSS: MIT License)\u003C\u002Fli>\n\u003Cli>jquery-ui-icons.png by The jQuery Foundation (License: MIT)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Translators who did a great job in translating the plugin into other languages. Thank you!\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Alexandre Touzet (French)\u003C\u002Fli>\n\u003Cli>Alfonso Montejo Ráez (Spanish)\u003C\u002Fli>\n\u003Cli>Marcus Tavares (Portuguese-Brazil)\u003C\u002Fli>\n\u003Cli>[Jozef Dobos] (http:\u002F\u002Fxn--dobo-j6a.eu\u002F) (Slovak)\u003C\u002Fli>\n\u003Cli>Elisabetta Mancini (Italian)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Disclaimer\u003C\u002Fh4>\n\u003Cp>Use at your own risk. No warranty expressed or implied is provided.\u003C\u002Fp>\n","Manage your publications with teachPress",2000,116439,96,24,"2025-04-07T20:22:00.000Z","6.7.5","3.9","7.0",[20,21,22],"bibliography","bibtex","publications","http:\u002F\u002Fmtrv.wordpress.com\u002Fteachpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fteachpress.9.0.12.zip",47,9,2,"2026-01-06 00:00:00","2026-03-15T15:16:48.613Z",[31,45,57,71,83,95,107,120,133],{"id":32,"url_slug":33,"title":34,"description":35,"plugin_slug":4,"theme_slug":36,"affected_versions":37,"patched_in_version":36,"severity":38,"cvss_score":39,"cvss_vector":40,"vuln_type":41,"published_date":28,"updated_date":42,"references":43,"days_to_patch":36},"CVE-2026-22483","teachpress-cross-site-request-forgery-2","teachPress \u003C= 9.0.12 - Cross-Site Request Forgery","The teachPress plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 9.0.12. This is due to missing or incorrect nonce validation on a function. This makes it possible for unauthenticated attackers to perform an unauthorized action via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.",null,"\u003C=9.0.12","medium",4.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Cross-Site Request Forgery (CSRF)","2026-01-14 19:25:25",[44],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fb6aa4ad3-a0f0-4917-acaf-2f683aecba3e?source=api-prod",{"id":46,"url_slug":47,"title":48,"description":49,"plugin_slug":4,"theme_slug":36,"affected_versions":37,"patched_in_version":36,"severity":38,"cvss_score":50,"cvss_vector":51,"vuln_type":52,"published_date":53,"updated_date":54,"references":55,"days_to_patch":36},"CVE-2026-22353","teachpress-authenticated-contributor-stored-cross-site-scripting","teachPress \u003C= 9.0.12 - Authenticated (Contributor+) Stored Cross-Site Scripting","The teachPress plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to, and including, 9.0.12 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.",6.4,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2025-12-30 00:00:00","2026-01-14 19:36:46",[56],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fcf7987ed-bde8-41a1-b679-299e7b09e282?source=api-prod",{"id":58,"url_slug":59,"title":60,"description":61,"plugin_slug":4,"theme_slug":36,"affected_versions":62,"patched_in_version":6,"severity":38,"cvss_score":63,"cvss_vector":64,"vuln_type":65,"published_date":66,"updated_date":67,"references":68,"days_to_patch":70},"CVE-2025-32149","teachpress-authenticated-contributor-sql-injection","teachPress \u003C= 9.0.11 - Authenticated (Contributor+) SQL Injection","The teachPress plugin for WordPress is vulnerable to SQL Injection in versions up to, and including, 9.0.11 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query.  This makes it possible for authenticated attackers, with contributor-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.","\u003C=9.0.11",6.5,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:U\u002FC:H\u002FI:N\u002FA:N","Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')","2025-04-04 00:00:00","2026-02-26 15:05:48",[69],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F23d75811-37cc-4bb0-94a3-0f8dd363c679?source=api-prod",329,{"id":72,"url_slug":73,"title":74,"description":75,"plugin_slug":4,"theme_slug":36,"affected_versions":76,"patched_in_version":77,"severity":38,"cvss_score":39,"cvss_vector":40,"vuln_type":41,"published_date":78,"updated_date":79,"references":80,"days_to_patch":82},"CVE-2025-1320","teachpress-cross-site-request-forgery-to-import-delete","teachPress \u003C= 9.0.9 - Cross-Site Request Forgery to Import Delete","The teachPress plugin for WordPress is vulnerable to Cross-Site Request Forgery in all versions up to, and including, 9.0.9. This is due to missing or incorrect nonce validation on the import.php page. This makes it possible for unauthenticated attackers to delete imports via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.","\u003C=9.0.9","9.0.10","2025-03-24 18:00:42","2025-07-24 19:16:20",[81],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fb677ad8b-4f01-4147-bcf6-ae769046be48?source=api-prod",122,{"id":84,"url_slug":85,"title":86,"description":87,"plugin_slug":4,"theme_slug":36,"affected_versions":88,"patched_in_version":89,"severity":38,"cvss_score":63,"cvss_vector":64,"vuln_type":65,"published_date":90,"updated_date":91,"references":92,"days_to_patch":94},"CVE-2025-1321","teachpress-authenticated-contributor-sql-injection-2","teachPress \u003C= 9.0.7 - Authenticated (Contributor+) SQL Injection","The teachPress plugin for WordPress is vulnerable to SQL Injection via the 'order' parameter of the 'tpsearch' shortcode in all versions up to, and including, 9.0.7 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query.  This makes it possible for authenticated attackers, with Contributor-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.","\u003C=9.0.7","9.0.8","2025-03-03 00:00:00","2025-03-04 03:37:59",[93],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fcb453fe3-ba89-437c-b3fb-9ec207eaa9f0?source=api-prod",1,{"id":96,"url_slug":97,"title":98,"description":99,"plugin_slug":4,"theme_slug":36,"affected_versions":100,"patched_in_version":101,"severity":38,"cvss_score":39,"cvss_vector":40,"vuln_type":41,"published_date":102,"updated_date":103,"references":104,"days_to_patch":106},"CVE-2023-49163","teachpress-cross-site-request-forgery-via-deletedatabase","teachPress \u003C= 9.0.5 - Cross-Site Request Forgery via delete_database()","The teachPress plugin for WordPress is vulnerable to Cross-Site Request Forgery in all versions up to, and including, 9.0.5. This is due to missing or incorrect nonce validation on the delete_database() function. This makes it possible for unauthenticated attackers to clear the database via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.","\u003C=9.0.5","9.0.6","2023-11-28 00:00:00","2024-01-22 19:56:02",[105],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F3544357f-97c9-49cb-a48d-74b60480111d?source=api-prod",56,{"id":108,"url_slug":109,"title":110,"description":111,"plugin_slug":4,"theme_slug":36,"affected_versions":112,"patched_in_version":113,"severity":38,"cvss_score":114,"cvss_vector":115,"vuln_type":41,"published_date":116,"updated_date":103,"references":117,"days_to_patch":119},"CVE-2023-48755","teachpress-cross-site-request-forgery","teachPress \u003C= 9.0.4 - Cross-Site Request Forgery","The teachPress plugin for WordPress is vulnerable to Cross-Site Request Forgery in all versions up to, and including, 9.0.4. This is due to missing or incorrect nonce validation on several functions. This makes it possible for unauthenticated attackers to invoke those functions via a forged request granted they can trick a site administrator into performing an action such as clicking on a link. CVE-2023-52129 may be a duplicate of this issue.","\u003C=9.0.4","9.0.5",5.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:N","2023-11-27 00:00:00",[118],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F9956e04c-ff59-40c0-a8ab-3e2ed2c52d7f?source=api-prod",57,{"id":121,"url_slug":122,"title":123,"description":124,"plugin_slug":4,"theme_slug":36,"affected_versions":125,"patched_in_version":126,"severity":38,"cvss_score":127,"cvss_vector":128,"vuln_type":52,"published_date":129,"updated_date":103,"references":130,"days_to_patch":132},"CVE-2023-36501","teachpress-reflected-cross-site-scripting-via-metafieldid-and-citeid","teachPress \u003C= 9.0.2 - Reflected Cross-Site Scripting via meta_field_id  and cite_id","The teachPress for WordPress is vulnerable to Reflected Cross-Site Scripting via the meta_field_id  and cite_id parameter in versions up to, and including, 9.0.2 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.","\u003C9.0.3","9.0.3",6.1,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:C\u002FC:L\u002FI:L\u002FA:N","2023-06-22 00:00:00",[131],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fa33cc275-aa0d-4b8b-863a-6a32fac37512?source=api-prod",215,{"id":134,"url_slug":135,"title":136,"description":137,"plugin_slug":4,"theme_slug":36,"affected_versions":138,"patched_in_version":139,"severity":140,"cvss_score":141,"cvss_vector":142,"vuln_type":52,"published_date":143,"updated_date":103,"references":144,"days_to_patch":146},"CVE-2023-22704","teachpress-unauthenticated-stored-cross-site-scripting","teachPress \u003C= 8.1.8 - Unauthenticated Stored Cross-Site Scripting","The teachPress plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the ‘tab’ parameter in versions up to, and including, 8.1.8 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. ","\u003C=8.1.8","8.1.9","high",7.2,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:C\u002FC:L\u002FI:L\u002FA:N","2023-01-17 00:00:00",[145],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F68774d9c-7abc-416d-8ab9-2713a1bad377?source=api-prod",371,{"slug":7,"display_name":7,"profile_url":8,"plugin_count":94,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":148,"trust_score":149,"computed_at":150},164,42,"2026-04-04T13:23:59.873Z",[152,177,199,218,237],{"slug":153,"name":154,"version":155,"author":156,"author_profile":157,"description":158,"short_description":159,"active_installs":11,"downloaded":160,"rating":161,"num_ratings":162,"last_updated":163,"tested_up_to":164,"requires_at_least":165,"requires_php":166,"tags":167,"homepage":171,"download_link":172,"security_score":173,"vuln_count":174,"unpatched_count":175,"last_vuln_date":176,"fetched_at":29},"zotpress","Zotpress","7.4.2","Katie","https:\u002F\u002Fprofiles.wordpress.org\u002Fkseaborn\u002F","\u003Cp>\u003Ca href=\"http:\u002F\u002Fkatieseaborn.com\u002Fplugins\u002F\" title=\"Zotpress for WordPress\" rel=\"nofollow ugc\">Zotpress\u003C\u002Fa> brings publication broadcasting and scholarly blogging to WordPress through \u003Ca href=\"http:\u002F\u002Fzotero.org\u002F\" title=\"Zotero\" rel=\"nofollow ugc\">Zotero\u003C\u002Fa>, a free, cross-platform reference manager.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Displays your personal and group Zotero items through in-text citations, bibliographies, and searchable libraries\u003C\u002Fli>\n\u003Cli>Supports thumbnail images through WordPress’s Media Library and Open Library\u003C\u002Fli>\n\u003Cli>Supports selective CSS styling via IDs and classes\u003C\u002Fli>\n\u003Cli>Provides a range of additional features, such as allowing visitors to download citations\u003C\u002Fli>\n\u003Cli>And more!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Compatible with Firefox, Safari, Chrome, and IE9. Made with jQuery, jQuery UI, jQuery doTimeout, Live Query, OAuth, and \u003Ca href=\"https:\u002F\u002Fopenlibrary.org\u002F\" title=\"Open Library\" rel=\"nofollow ugc\">Open Library\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Special thanks to Joe Alberts for substantial contributions to the code, comprehensive testing, and design ideation. Thanks also to contributors Jeremy Varnham (@jvarn13), Christopher Cheung, Jason S., Chris Wentzloff, Karljürgen Feuerherm (@feuerherm), Mark Dingemanse (@codeispoetry), Jörg Mechnich (jmechnich@github), Tomas Risberg, @ericcorbett2, and @timtom for their code contributions, testing, and guidance. Finally, my sincere gratitude goes out to all who have donated in support of this plugin.\u003C\u002Fp>\n\u003Cp>Please note that this plugin is on semi-hiatus, with updates expected about 1-3 times a year.\u003C\u002Fp>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cp>jQuery included in your theme (Zotpress will do this for you if it isn’t already included), and an HTTP request method supported by WordPress enabled on your server: cURL, fopen with Streams (PHP 5), or fsockopen. In your server config file, X-Frame-Options should be set to SAMEORIGIN. Optional: OAuth enabled on your server.\u003C\u002Fp>\n","Zotpress displays your Zotero citations on WordPress.",132376,98,66,"2025-10-19T08:19:00.000Z","6.8.5","3.5","",[168,20,169,22,170],"academic-blogging","citation-manager","zotero","http:\u002F\u002Fkatieseaborn.com\u002Fplugins","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fzotpress.7.4.2.zip",87,8,0,"2025-06-10 14:40:35",{"slug":178,"name":179,"version":180,"author":181,"author_profile":182,"description":183,"short_description":184,"active_installs":185,"downloaded":186,"rating":187,"num_ratings":188,"last_updated":189,"tested_up_to":190,"requires_at_least":191,"requires_php":18,"tags":192,"homepage":196,"download_link":197,"security_score":198,"vuln_count":175,"unpatched_count":175,"last_vuln_date":36,"fetched_at":29},"academic-bloggers-toolkit","Academic Blogger's Toolkit","5.2.2","dsifford","https:\u002F\u002Fprofiles.wordpress.org\u002Fdsifford\u002F","\u003Cp>\u003Cstrong>FULLY SUPPORTS THE NEW BLOCK EDITOR!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Academic Blogger’s toolkit is an \u003Cstrong>open source\u003C\u002Fstrong> WordPress plugin providing an all-in-one solution for effective academic blogging.\u003C\u002Fp>\n\u003Ch4>This README page is not kept up to date!\u003C\u002Fh4>\n\u003Cp>For a constaintly updated, exhaustively detailed, introduction to this plugin and all its features, please visit the plugin’s \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdsifford\u002Facademic-bloggers-toolkit\" rel=\"nofollow ugc\">GitHub Repository\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>To dive right into the documentation, check out the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdsifford\u002Facademic-bloggers-toolkit\u002Fwiki\" rel=\"nofollow ugc\">Academic Blogger’s Toolkit Wiki\u003C\u002Fa>!\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Insert formatted references on the fly using \u003Cstrong>PMID\u003C\u002Fstrong>, \u003Cstrong>DOI\u003C\u002Fstrong> (CrossRef, DataCite, & mEDRA), \u003Cstrong>URL\u003C\u002Fstrong>, or \u003Cstrong>ISBN\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Manually insert formatted references from \u003Cstrong>over 15 types of references\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Import a full bibliography from your favorite reference manager\u003C\u002Fstrong> using an exported \u003Ccode>.ris\u003C\u002Fcode> file.\u003C\u002Fli>\n\u003Cli>Automatically format references for \u003Cstrong>every citation style on planet earth\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fully interactive\u003C\u002Fstrong> reference list which lives beside the post editor.\u003C\u002Fli>\n\u003Cli>Insert and manager \u003Cstrong>footnotes\u003C\u002Fstrong> in the editor automatically.\u003C\u002Fli>\n\u003Cli>Inline citations display full formatted references on the frontend when hovered with the mouse (or when tapped on mobile). No more scrolling down and losing your focus!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Contributing\u003C\u002Fh4>\n\u003Cp>If you’re a developer and would like to contribute, you can do so via this plugin’s \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdsifford\u002Facademic-bloggers-toolkit\" rel=\"nofollow ugc\">GitHub Repository\u003C\u002Fa>.\u003C\u002Fp>\n","A plugin extending the functionality of Wordpress for academic blogging.",300,35511,86,28,"2019-10-24T22:33:00.000Z","5.3.21","5.3",[193,194,195,20,21],"academia","academic","bibliographies","https:\u002F\u002Fgithub.com\u002Fdsifford\u002Facademic-bloggers-toolkit\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Facademic-bloggers-toolkit.5.2.2.zip",85,{"slug":200,"name":201,"version":202,"author":203,"author_profile":204,"description":205,"short_description":206,"active_installs":207,"downloaded":208,"rating":175,"num_ratings":175,"last_updated":209,"tested_up_to":210,"requires_at_least":211,"requires_php":212,"tags":213,"homepage":166,"download_link":217,"security_score":198,"vuln_count":175,"unpatched_count":175,"last_vuln_date":36,"fetched_at":29},"pure-feed-widget","Pure Feed Widget","0.2.0","Mace Ojala","https:\u002F\u002Fprofiles.wordpress.org\u002Fxmacex\u002F","\u003Cp>This widget displays publications from \u003Ca href=\"https:\u002F\u002Fwww.elsevier.com\u002Fsolutions\u002Fpure\" rel=\"nofollow ugc\">Elsevier Pure\u003C\u002Fa> institutional repositories. Compared to the RSS feeds, this hopes to provide a cleaner and more configurable output of publications.\u003C\u002Fp>\n\u003Cp>Pure offers rendering items in various bibliographical style.\u003C\u002Fp>\n\u003Ch3>Configuration\u003C\u002Fh3>\n\u003Cp>After installing and enabling as usual for WordPress plugins, PURE API URL is needed, together with API key which you can acquire from the Pure administrator. Additionally organisation ID is needed to filter publications. You can find there on the Pure website, e.g. the Pure page of MAD Art & Design at IT University of Copenhagen is https:\u002F\u002Fpure.itu.dk\u002Fportal\u002Fen\u002Forganisations\u002Fmad-art–design(cf9b4e6a-e1ad-41e3-9475-7679abe7131b).html, and the organisation ID is \u003Ccode>cf9b4e6a-e1ad-41e3-9475-7679abe7131b\u003C\u002Fcode>. Enter these in the widget configuration, and select a bibliographical style, typically perhaps APA or Vancouver.\u003C\u002Fp>\n","A widget for listing academic publications from Elsevier Pure in WordPress.",10,2632,"2019-08-22T19:20:00.000Z","5.2.24","3.0.1","5.2.4",[20,214,215,22,216],"elsevier","metadata","pure","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpure-feed-widget.zip",{"slug":219,"name":220,"version":221,"author":222,"author_profile":223,"description":224,"short_description":225,"active_installs":207,"downloaded":226,"rating":175,"num_ratings":175,"last_updated":166,"tested_up_to":227,"requires_at_least":228,"requires_php":229,"tags":230,"homepage":166,"download_link":234,"security_score":235,"vuln_count":175,"unpatched_count":175,"last_vuln_date":36,"fetched_at":236},"webkew-wp-references-and-citations","WebKew WP References and Citations","1.0.4","Peshmerge Morad","https:\u002F\u002Fprofiles.wordpress.org\u002Fpeshmerge\u002F","\u003Cp>A WordPress plugin that automatically generates a bibliography from citations added to a WP post\u002Fpage\u002Fcustom post type.\u003C\u002Fp>\n\u003Cp>Use \u003Ccode>\\cite{bibtex_entry_name}\u003C\u002Fcode> in the text and provide the corresponding BibTex entry in the “References” field\u003Cbr \u002F>\nunderneath the text editor. When you visit the page of the post on the front-end, you will see the citations in the text\u003Cbr \u002F>\nin addition, at the end of the content of the page, you will see a new section called “Bibliography” where you can see all used references in the post.\u003C\u002Fp>\n\u003Cp>The plugin has a couple of options:\u003Cbr \u002F>\n1. Enabled Post Types: posts\u002Fpages\u002Fcustom post types.\u003Cbr \u002F>\n2. Bibliography Style (Based on Citation-JS Style): you can choose between APA, Vancouver, and Harvard.\u003Cbr \u002F>\n3. Citation Style (in the text): decide how the \u003Ccode>\\cite{bibtex_entry_name}\u003C\u002Fcode> will appear on the front-end, you can choose between (X) Numerical, (authorX 2024) Author year, or (authorX)Author.\u003Cbr \u002F>\n4. Delete data on uninstall: decide to delete all stored references on plugin uninstall.\u003C\u002Fp>\n","A WordPress plugin that automatically generates a bibliography from citations added to a WP post\u002Fpage\u002Fcustom post type.",1106,"6.6.5","5.5","7.4",[231,20,21,232,233],"apa","citations","references","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwebkew-wp-references-and-citations.1.0.4.zip",100,"2026-03-15T10:48:56.248Z",{"slug":238,"name":239,"version":240,"author":241,"author_profile":242,"description":243,"short_description":244,"active_installs":11,"downloaded":245,"rating":246,"num_ratings":247,"last_updated":248,"tested_up_to":249,"requires_at_least":250,"requires_php":229,"tags":251,"homepage":255,"download_link":256,"security_score":257,"vuln_count":94,"unpatched_count":175,"last_vuln_date":258,"fetched_at":29},"footnotes-made-easy","Footnotes Made Easy","3.1.0","Patrick Lumumba","https:\u002F\u002Fprofiles.wordpress.org\u002Flumiblog\u002F","\u003Cp>Footnotes Made Easy is a simple, but powerful, method of adding footnotes to your posts and pages.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key features include…\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Simple footnote insertion via double parentheses\u003C\u002Fli>\n\u003Cli>Combine identical notes\u003C\u002Fli>\n\u003Cli>Solution for paginated posts\u003C\u002Fli>\n\u003Cli>Suppress Footnotes on specific page types\u003C\u002Fli>\n\u003Cli>Option to display ‘pretty’ tooltips using jQuery\u003C\u002Fli>\n\u003Cli>Lots of configuration options\u003C\u002Fli>\n\u003Cli>And much, much more!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Footnotes Made Easy is a fork of \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdrzax\u002Fwp-footnotes\" title=\"Github - wp-footnotes\" rel=\"nofollow ugc\">WP Footnotes\u003C\u002Fa>, a plugin by Simon Elvery which was abandoned some years ago\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Please visit the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flumumbapl\u002Ffootnotes-made-easy\u002F\" title=\"Github\" rel=\"nofollow ugc\">Github page\u003C\u002Fa> for the latest code development, planned enhancements and known issues\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch3>Getting Started\u003C\u002Fh3>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FLuXMb8Hz4tc?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Cp>Creating a footnote is incredibly simple – you just need to include your footnote in double parentheses, such as this…\u003C\u002Fp>\n\u003Cp>This is a sentence ((and this is your footnote)).\u003C\u002Fp>\n\u003Cp>The footnote will then appear at the bottom of your post\u002Fpage.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Important note:\u003C\u002Fstrong> Make sure you include a space before your opening double parentheses or the footnote won’t work!\u003C\u002Fp>\n\u003Ch3>Options\u003C\u002Fh3>\n\u003Cp>You have a fair few options on how the identifier links, footnotes and back-links look which can be found in the WordPress admin area under ‘Settings -> Footnotes’.\u003C\u002Fp>\n\u003Ch3>Paginated Posts\u003C\u002Fh3>\n\u003Cp>Some of you seem to like the paginating post, which is kind of problematic. By default, each page of your post will have its own set of footnotes at the bottom and the numbering will start again from 1 for each page.\u003C\u002Fp>\n\u003Cp>The only way to get around this is to know how many posts are on each page and tell Footnotes Made Easy what number you want the list to start at for each of the pages. So at some point on each page (that is, between each \u003Ccode>\u003C!--nextpage-->\u003C\u002Fcode> tag) you need to add a tag to let the plugin know what number the footnotes on this page should start at. The tag should look like this \u003Ccode>\u003C!--startnum=5-->\u003C\u002Fcode> where “5” is the number you want the footnotes for this page to start at.\u003C\u002Fp>\n\u003Ch3>Referencing\u003C\u002Fh3>\n\u003Cp>Sometimes it’s useful to be able to refer to a previous footnote a second (or third, or fourth…) time. To do this, you can either simply insert the exact same text as you did the first time and the identifier should simply reference the previous note. Alternatively, if you don’t want to do all that typing again, you can construct a footnote like this: \u003Ccode>((ref:1))\u003C\u002Fcode> and the identifier will reference the footnote with the given number.\u003C\u002Fp>\n\u003Cp>Even though it’s a little more typing, using the exact text method is much more robust. The number referencing will not work across multiple pages in a paged post (but will work within the page). Also, if you use the number referencing system you risk them identifying the incorrect footnote if you go back and insert a new footnote and forget to change the referenced number.\u003C\u002Fp>\n\u003Ch3>Available in 8 Languages\u003C\u002Fh3>\n\u003Cp>Footnotes Made Easy is fully internationalized, and ready for translations.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Many thanks to the following translators for their contributions:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fdartiss\u002F\" rel=\"nofollow ugc\">David Artiss\u003C\u002Fa>, English (UK)\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fmarkscottrobson\u002F\" rel=\"nofollow ugc\">Mark Robson\u003C\u002Fa>, English (UK)\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fyayannabelle\u002F\" rel=\"nofollow ugc\">Annabelle W\u003C\u002Fa>, English (UK)\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fmaboroshin\u002F\" rel=\"nofollow ugc\">maboroshin\u003C\u002Fa>, Japanese\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fwplmillet\u002F\" rel=\"nofollow ugc\">Laurent MILLET\u003C\u002Fa>, French (France)\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fcansmile\u002F\" rel=\"nofollow ugc\">B. Cansmile Cha\u003C\u002Fa>, Korean \u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fdanbilabs\u002F\" rel=\"nofollow ugc\">danbilabs\u003C\u002Fa>, Korean\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fdanbilabs\u002F\" rel=\"nofollow ugc\">denelan\u003C\u002Fa>, Dutch \u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fpsmits1567\u002F\" rel=\"nofollow ugc\">Peter Smits\u003C\u002Fa>, Dutch\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fnekojonez\u002F\" rel=\"nofollow ugc\">Pieterjan Deneys\u003C\u002Fa>, Dutch (Belgium)\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Falexvgrey\u002F\" rel=\"nofollow ugc\">Alex Grey\u003C\u002Fa>, Russian\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>If you would like to add a translation to this plugin then please head to our \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Ffootnotes-made-easy\" title=\"Translating WordPress\" rel=\"nofollow ugc\">Translating WordPress\u003C\u002Fa> page\u003C\u002Fstrong>\u003C\u002Fp>\n","Allows post authors to easily add and manage footnotes in posts.",55299,92,38,"2025-11-29T18:04:00.000Z","6.9.4","4.6",[20,252,253,254],"footnotes","formatting","reference","https:\u002F\u002Flumumbas.blog\u002Fplugins\u002Ffootnotes-made-easy\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffootnotes-made-easy.3.1.0.zip",97,"2025-11-03 16:03:22",{"attackSurface":260,"codeSignals":391,"taintFlows":983,"riskAssessment":1208,"analyzedAt":1224},{"hooks":261,"ajaxHandlers":329,"restRoutes":342,"shortcodes":351,"cronEvents":388,"entryPointCount":389,"unprotectedCount":390},[262,268,273,277,282,285,288,291,295,299,303,307,311,315,319,322,325],{"type":263,"name":264,"callback":265,"priority":207,"file":266,"line":267},"filter","set-screen-option","tp_set_screen_option","core\\admin.php",897,{"type":263,"name":269,"callback":270,"file":271,"line":272},"mce_buttons","tp_register_tinymce_buttons","teachpress.php",353,{"type":263,"name":274,"callback":275,"file":271,"line":276},"mce_external_plugins","tp_register_tinymce_js",354,{"type":278,"name":279,"callback":280,"file":271,"line":281},"action","init","tp_language_support",529,{"type":278,"name":279,"callback":283,"file":271,"line":284},"tp_feed_init",530,{"type":278,"name":279,"callback":286,"file":271,"line":287},"tp_register_all_publication_types",531,{"type":278,"name":279,"callback":289,"file":271,"line":290},"tp_register_all_awards",532,{"type":278,"name":292,"callback":293,"file":271,"line":294},"admin_menu","tp_add_menu_settings",535,{"type":278,"name":296,"callback":297,"file":271,"line":298},"wp_head","tp_frontend_scripts",536,{"type":278,"name":300,"callback":301,"file":271,"line":302},"admin_init","tp_backend_scripts",537,{"type":263,"name":304,"callback":305,"priority":207,"file":271,"line":306},"plugin_action_links","tp_plugin_link",538,{"type":263,"name":308,"callback":309,"priority":207,"file":271,"line":310},"screen_settings","tp_show_screen_options",540,{"type":278,"name":312,"callback":313,"file":271,"line":314},"rest_api_init","tp_rest_register_routes",541,{"type":278,"name":316,"callback":317,"file":271,"line":318},"admin_head","tp_add_tinymce_button",546,{"type":278,"name":316,"callback":320,"file":271,"line":321},"tp_write_data_for_tinymce",547,{"type":278,"name":292,"callback":323,"file":271,"line":324},"tp_add_menu",556,{"type":278,"name":326,"callback":327,"file":271,"line":328},"widgets_init","closure",557,[330,334,338],{"action":4,"nopriv":331,"callback":332,"hasNonce":331,"hasCapCheck":331,"file":271,"line":333},false,"tp_ajax_callback",533,{"action":335,"nopriv":331,"callback":336,"hasNonce":331,"hasCapCheck":331,"file":271,"line":337},"teachpressdocman","tp_ajax_doc_manager_callback",534,{"action":339,"nopriv":331,"callback":340,"hasNonce":331,"hasCapCheck":331,"file":271,"line":341},"tp_document_upload","tp_handle_document_uploads",539,[343],{"namespace":344,"route":345,"methods":346,"callback":348,"permissionCallback":349,"file":271,"line":350},"teachpress\u002Fv1","\u002Fautopublish\u002Fupdate_all",[347],"GET","tp_rest_update_sources_hook","__return_false",519,[352,356,360,364,368,372,376,380,384],{"tag":353,"callback":354,"file":271,"line":355},"tpcloud","tp_cloud_shortcode",558,{"tag":357,"callback":358,"file":271,"line":359},"tplist","tp_list_shortcode",559,{"tag":361,"callback":362,"file":271,"line":363},"tpsingle","tp_single_shortcode",560,{"tag":365,"callback":366,"file":271,"line":367},"tpbibtex","tp_bibtex_shortcode",561,{"tag":369,"callback":370,"file":271,"line":371},"tpabstract","tp_abstract_shortcode",562,{"tag":373,"callback":374,"file":271,"line":375},"tplinks","tp_links_shortcode",563,{"tag":377,"callback":378,"file":271,"line":379},"tpsearch","tp_search_shortcode",564,{"tag":381,"callback":382,"file":271,"line":383},"tpcite","tp_cite_shortcode",565,{"tag":385,"callback":386,"file":271,"line":387},"tpref","tp_ref_shortcode",566,[],13,3,{"dangerousFunctions":392,"sqlUsage":398,"outputEscaping":634,"fileOperations":976,"externalRequests":977,"nonceChecks":978,"capabilityChecks":978,"bundledLibraries":979},[393],{"fn":394,"file":395,"line":396,"context":397},"passthru","core\\feeds.php",114,"passthru('echo ' . escapeshellarg($trimmed) . ' | bibtool -f \"%-2n(author)_%-3T(title)_%2d(year)\" -q",{"prepared":399,"raw":400,"locations":401},281,113,[402,406,409,411,413,415,417,420,423,426,427,429,431,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,497,499,501,503,505,507,509,511,513,515,517,519,521,523,525,527,529,531,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,583,585,588,590,592,594,596,597,599,601,603,605,607,609,611,613,615,618,620,621,624,625,627,629,631,633],{"file":403,"line":404,"context":405},"admin\\publication-sources.php",251,"$wpdb->query() with variable interpolation",{"file":266,"line":407,"context":408},120,"$wpdb->get_results() with variable interpolation",{"file":266,"line":410,"context":408},213,{"file":266,"line":412,"context":408},239,{"file":266,"line":414,"context":408},615,{"file":266,"line":416,"context":408},827,{"file":418,"line":419,"context":408},"core\\class-db-helpers.php",212,{"file":421,"line":422,"context":405},"core\\class-db-options.php",61,{"file":424,"line":198,"context":425},"core\\class-tables.php","$wpdb->get_row() with variable interpolation",{"file":424,"line":161,"context":405},{"file":424,"line":428,"context":405},140,{"file":424,"line":430,"context":405},144,{"file":432,"line":433,"context":405},"core\\class-update.php",145,{"file":432,"line":435,"context":408},153,{"file":432,"line":437,"context":405},159,{"file":432,"line":439,"context":405},171,{"file":432,"line":441,"context":408},178,{"file":432,"line":443,"context":405},184,{"file":432,"line":445,"context":405},196,{"file":432,"line":447,"context":408},203,{"file":432,"line":449,"context":405},209,{"file":432,"line":451,"context":405},221,{"file":432,"line":453,"context":408},228,{"file":432,"line":455,"context":405},240,{"file":432,"line":457,"context":405},252,{"file":432,"line":459,"context":405},256,{"file":432,"line":461,"context":405},260,{"file":432,"line":463,"context":405},264,{"file":432,"line":465,"context":405},268,{"file":432,"line":467,"context":405},289,{"file":432,"line":469,"context":405},314,{"file":432,"line":471,"context":405},319,{"file":432,"line":473,"context":405},322,{"file":432,"line":475,"context":405},325,{"file":432,"line":477,"context":405},328,{"file":432,"line":479,"context":405},331,{"file":432,"line":481,"context":405},334,{"file":432,"line":483,"context":405},337,{"file":432,"line":485,"context":405},343,{"file":432,"line":487,"context":405},351,{"file":432,"line":489,"context":405},355,{"file":432,"line":491,"context":405},359,{"file":432,"line":493,"context":405},363,{"file":432,"line":495,"context":405},367,{"file":432,"line":146,"context":405},{"file":432,"line":498,"context":405},375,{"file":432,"line":500,"context":405},379,{"file":432,"line":502,"context":405},383,{"file":432,"line":504,"context":405},387,{"file":432,"line":506,"context":405},391,{"file":432,"line":508,"context":405},395,{"file":432,"line":510,"context":405},399,{"file":432,"line":512,"context":405},403,{"file":432,"line":514,"context":405},407,{"file":432,"line":516,"context":405},411,{"file":432,"line":518,"context":405},415,{"file":432,"line":520,"context":405},419,{"file":432,"line":522,"context":405},423,{"file":432,"line":524,"context":405},427,{"file":432,"line":526,"context":405},431,{"file":432,"line":528,"context":405},437,{"file":432,"line":530,"context":405},484,{"file":432,"line":532,"context":533},488,"$wpdb->get_var() with variable interpolation",{"file":432,"line":535,"context":405},489,{"file":432,"line":537,"context":405},521,{"file":432,"line":539,"context":405},551,{"file":432,"line":541,"context":405},611,{"file":432,"line":543,"context":405},616,{"file":432,"line":545,"context":405},621,{"file":432,"line":547,"context":405},626,{"file":432,"line":549,"context":405},631,{"file":432,"line":551,"context":405},662,{"file":432,"line":553,"context":405},861,{"file":432,"line":555,"context":405},865,{"file":432,"line":557,"context":533},898,{"file":432,"line":559,"context":405},899,{"file":432,"line":561,"context":533},964,{"file":432,"line":563,"context":408},998,{"file":432,"line":565,"context":405},1010,{"file":432,"line":567,"context":405},1034,{"file":432,"line":569,"context":405},1070,{"file":432,"line":571,"context":405},1099,{"file":432,"line":573,"context":405},1104,{"file":432,"line":575,"context":405},1109,{"file":432,"line":577,"context":405},1114,{"file":432,"line":579,"context":405},1138,{"file":581,"line":582,"context":405},"core\\publications\\class-db-authors.php",225,{"file":581,"line":584,"context":405},226,{"file":586,"line":587,"context":425},"core\\publications\\class-db-publications.php",46,{"file":586,"line":589,"context":408},132,{"file":586,"line":591,"context":408},307,{"file":586,"line":593,"context":408},310,{"file":586,"line":595,"context":408},364,{"file":586,"line":549,"context":405},{"file":586,"line":598,"context":405},653,{"file":586,"line":600,"context":405},654,{"file":586,"line":602,"context":405},655,{"file":586,"line":604,"context":405},656,{"file":586,"line":606,"context":405},657,{"file":586,"line":608,"context":405},673,{"file":586,"line":610,"context":405},715,{"file":586,"line":612,"context":405},721,{"file":586,"line":614,"context":533},750,{"file":586,"line":616,"context":617},758,"$wpdb->get_col() with variable interpolation",{"file":586,"line":619,"context":408},869,{"file":586,"line":267,"context":405},{"file":622,"line":623,"context":405},"core\\publications\\class-db-tags.php",155,{"file":622,"line":148,"context":533},{"file":622,"line":626,"context":405},170,{"file":622,"line":628,"context":405},188,{"file":622,"line":630,"context":405},189,{"file":622,"line":632,"context":405},202,{"file":622,"line":477,"context":425},{"escaped":635,"rawEcho":636,"locations":637},210,190,[638,642,644,646,648,650,652,655,657,659,660,662,664,666,668,670,672,674,676,677,679,682,683,684,687,688,689,691,692,693,695,697,698,700,702,704,706,708,710,712,714,716,718,720,722,723,725,727,729,731,732,734,736,737,738,739,742,744,746,748,750,752,754,756,758,760,762,764,766,768,770,772,774,775,777,779,781,783,784,786,788,789,790,792,794,795,797,799,800,801,803,805,807,809,811,813,815,817,819,821,824,825,827,829,830,832,834,836,838,839,841,843,845,847,849,852,854,856,857,859,860,861,862,864,865,866,868,869,871,873,875,877,878,879,881,883,884,886,889,890,891,893,894,896,898,900,901,902,904,905,908,909,911,912,913,914,916,918,920,921,923,924,925,926,928,931,933,935,937,939,941,943,944,945,946,947,950,952,954,955,956,958,960,962,964,966,968,970,972,974],{"file":639,"line":640,"context":641},"admin\\add-publication.php",91,"raw output",{"file":639,"line":643,"context":641},94,{"file":639,"line":645,"context":641},156,{"file":639,"line":647,"context":641},157,{"file":639,"line":649,"context":641},358,{"file":639,"line":651,"context":641},377,{"file":653,"line":654,"context":641},"admin\\class-authors-page.php",108,{"file":653,"line":656,"context":641},119,{"file":653,"line":658,"context":641},121,{"file":653,"line":82,"context":641},{"file":653,"line":661,"context":641},130,{"file":653,"line":663,"context":641},131,{"file":653,"line":665,"context":641},134,{"file":653,"line":667,"context":641},160,{"file":653,"line":669,"context":641},161,{"file":653,"line":671,"context":641},162,{"file":653,"line":673,"context":641},166,{"file":653,"line":675,"context":641},199,{"file":653,"line":632,"context":641},{"file":653,"line":678,"context":641},368,{"file":680,"line":681,"context":641},"admin\\class-tags-page.php",12,{"file":680,"line":445,"context":641},{"file":680,"line":675,"context":641},{"file":685,"line":686,"context":641},"admin\\import-publications.php",36,{"file":685,"line":132,"context":641},{"file":685,"line":475,"context":641},{"file":685,"line":690,"context":641},327,{"file":685,"line":70,"context":641},{"file":685,"line":481,"context":641},{"file":685,"line":694,"context":641},335,{"file":685,"line":696,"context":641},336,{"file":685,"line":483,"context":641},{"file":685,"line":699,"context":641},338,{"file":685,"line":701,"context":641},344,{"file":685,"line":703,"context":641},385,{"file":685,"line":705,"context":641},426,{"file":685,"line":707,"context":641},444,{"file":685,"line":709,"context":641},463,{"file":685,"line":711,"context":641},473,{"file":685,"line":713,"context":641},503,{"file":685,"line":715,"context":641},504,{"file":685,"line":717,"context":641},505,{"file":685,"line":719,"context":641},516,{"file":403,"line":721,"context":641},106,{"file":403,"line":654,"context":641},{"file":403,"line":724,"context":641},111,{"file":403,"line":726,"context":641},127,{"file":403,"line":728,"context":641},138,{"file":403,"line":730,"context":641},139,{"file":403,"line":430,"context":641},{"file":403,"line":733,"context":641},148,{"file":403,"line":735,"context":641},151,{"file":403,"line":647,"context":641},{"file":403,"line":667,"context":641},{"file":403,"line":148,"context":641},{"file":740,"line":741,"context":641},"admin\\settings.php",163,{"file":740,"line":743,"context":641},167,{"file":740,"line":745,"context":641},219,{"file":740,"line":747,"context":641},227,{"file":740,"line":749,"context":641},229,{"file":740,"line":751,"context":641},233,{"file":740,"line":753,"context":641},234,{"file":740,"line":755,"context":641},237,{"file":740,"line":757,"context":641},238,{"file":740,"line":759,"context":641},242,{"file":740,"line":761,"context":641},250,{"file":740,"line":763,"context":641},254,{"file":740,"line":765,"context":641},258,{"file":740,"line":767,"context":641},262,{"file":740,"line":769,"context":641},274,{"file":740,"line":771,"context":641},278,{"file":740,"line":773,"context":641},283,{"file":740,"line":467,"context":641},{"file":740,"line":776,"context":641},293,{"file":740,"line":778,"context":641},298,{"file":740,"line":780,"context":641},305,{"file":740,"line":782,"context":641},309,{"file":740,"line":473,"context":641},{"file":740,"line":785,"context":641},326,{"file":740,"line":787,"context":641},332,{"file":740,"line":696,"context":641},{"file":740,"line":485,"context":641},{"file":740,"line":791,"context":641},352,{"file":740,"line":793,"context":641},380,{"file":740,"line":504,"context":641},{"file":740,"line":796,"context":641},388,{"file":740,"line":798,"context":641},500,{"file":740,"line":713,"context":641},{"file":740,"line":719,"context":641},{"file":740,"line":802,"context":641},517,{"file":740,"line":804,"context":641},518,{"file":740,"line":806,"context":641},596,{"file":740,"line":808,"context":641},597,{"file":740,"line":810,"context":641},598,{"file":740,"line":812,"context":641},599,{"file":740,"line":814,"context":641},600,{"file":740,"line":816,"context":641},601,{"file":740,"line":818,"context":641},602,{"file":740,"line":820,"context":641},604,{"file":822,"line":823,"context":641},"admin\\show-publications.php",168,{"file":822,"line":675,"context":641},{"file":822,"line":826,"context":641},204,{"file":822,"line":828,"context":641},222,{"file":822,"line":751,"context":641},{"file":822,"line":831,"context":641},320,{"file":822,"line":833,"context":641},575,{"file":822,"line":835,"context":641},578,{"file":822,"line":837,"context":641},709,{"file":822,"line":612,"context":641},{"file":266,"line":840,"context":641},265,{"file":266,"line":842,"context":641},346,{"file":266,"line":844,"context":641},374,{"file":266,"line":846,"context":641},459,{"file":266,"line":848,"context":641},614,{"file":850,"line":851,"context":641},"core\\class-ajax.php",84,{"file":850,"line":853,"context":641},88,{"file":850,"line":855,"context":641},128,{"file":850,"line":589,"context":641},{"file":850,"line":858,"context":641},136,{"file":850,"line":428,"context":641},{"file":850,"line":430,"context":641},{"file":850,"line":733,"context":641},{"file":850,"line":863,"context":641},152,{"file":850,"line":645,"context":641},{"file":850,"line":667,"context":641},{"file":850,"line":867,"context":641},181,{"file":850,"line":443,"context":641},{"file":850,"line":870,"context":641},198,{"file":850,"line":872,"context":641},259,{"file":850,"line":874,"context":641},303,{"file":850,"line":876,"context":641},313,{"file":850,"line":831,"context":641},{"file":850,"line":481,"context":641},{"file":850,"line":880,"context":641},341,{"file":850,"line":882,"context":641},348,{"file":850,"line":276,"context":641},{"file":850,"line":885,"context":641},381,{"file":887,"line":888,"context":641},"core\\class-document-manager.php",123,{"file":887,"line":863,"context":641},{"file":887,"line":632,"context":641},{"file":887,"line":892,"context":641},218,{"file":887,"line":747,"context":641},{"file":887,"line":895,"context":641},236,{"file":887,"line":897,"context":641},277,{"file":887,"line":899,"context":641},294,{"file":887,"line":780,"context":641},{"file":887,"line":882,"context":641},{"file":887,"line":903,"context":641},362,{"file":887,"line":793,"context":641},{"file":906,"line":907,"context":641},"core\\class-export.php",35,{"file":906,"line":686,"context":641},{"file":906,"line":910,"context":641},37,{"file":906,"line":247,"context":641},{"file":906,"line":587,"context":641},{"file":906,"line":198,"context":641},{"file":906,"line":915,"context":641},105,{"file":906,"line":917,"context":641},107,{"file":906,"line":919,"context":641},109,{"file":906,"line":400,"context":641},{"file":906,"line":922,"context":641},115,{"file":906,"line":82,"context":641},{"file":906,"line":855,"context":641},{"file":906,"line":661,"context":641},{"file":906,"line":927,"context":641},149,{"file":929,"line":930,"context":641},"core\\class-html.php",22,{"file":929,"line":932,"context":641},33,{"file":929,"line":934,"context":641},45,{"file":395,"line":936,"context":641},17,{"file":395,"line":938,"context":641},18,{"file":395,"line":940,"context":641},26,{"file":395,"line":942,"context":641},75,{"file":395,"line":198,"context":641},{"file":395,"line":919,"context":641},{"file":395,"line":671,"context":641},{"file":395,"line":741,"context":641},{"file":948,"line":949,"context":641},"core\\general.php",90,{"file":948,"line":951,"context":641},424,{"file":948,"line":953,"context":641},425,{"file":948,"line":705,"context":641},{"file":948,"line":524,"context":641},{"file":948,"line":957,"context":641},428,{"file":959,"line":149,"context":641},"core\\publications\\class-books-widget.php",{"file":959,"line":961,"context":641},44,{"file":959,"line":963,"context":641},48,{"file":959,"line":965,"context":641},79,{"file":959,"line":967,"context":641},82,{"file":271,"line":969,"context":641},439,{"file":271,"line":971,"context":641},449,{"file":271,"line":973,"context":641},464,{"file":271,"line":975,"context":641},469,4,5,11,[980],{"name":981,"version":36,"knownCves":982},"TinyMCE",[],[984,1005,1017,1025,1037,1051,1061,1069,1083,1094,1102,1111,1128,1136,1144,1164,1177,1189,1200],{"entryPoint":985,"graph":986,"unsanitizedCount":390,"severity":38},"tp_add_publication_page (admin\\add-publication.php:30)",{"nodes":987,"edges":1002},[988,992,997,1000],{"id":989,"type":990,"label":991,"file":639,"line":257},"n0","source","$_SERVER['REQUEST_URI']",{"id":993,"type":994,"label":995,"file":639,"line":257,"wp_function":996},"n1","sink","echo() [XSS]","echo",{"id":998,"type":990,"label":999,"file":639,"line":965},"n2","$_POST (x2)",{"id":1001,"type":994,"label":995,"file":639,"line":433,"wp_function":996},"n3",[1003,1004],{"from":989,"to":993,"sanitized":331},{"from":998,"to":1001,"sanitized":331},{"entryPoint":1006,"graph":1007,"unsanitizedCount":27,"severity":38},"get_page (admin\\class-authors-page.php:60)",{"nodes":1008,"edges":1014},[1009,1010,1011,1013],{"id":989,"type":990,"label":991,"file":653,"line":919},{"id":993,"type":994,"label":995,"file":653,"line":919,"wp_function":996},{"id":998,"type":990,"label":1012,"file":653,"line":422},"$_GET",{"id":1001,"type":994,"label":995,"file":653,"line":658,"wp_function":996},[1015,1016],{"from":989,"to":993,"sanitized":331},{"from":998,"to":1001,"sanitized":331},{"entryPoint":1018,"graph":1019,"unsanitizedCount":94,"severity":38},"init (admin\\class-tags-page.php:9)",{"nodes":1020,"edges":1023},[1021,1022],{"id":989,"type":990,"label":991,"file":680,"line":389},{"id":993,"type":994,"label":995,"file":680,"line":389,"wp_function":996},[1024],{"from":989,"to":993,"sanitized":331},{"entryPoint":1026,"graph":1027,"unsanitizedCount":94,"severity":38},"import_actions (admin\\import-publications.php:83)",{"nodes":1028,"edges":1035},[1029,1032],{"id":989,"type":990,"label":1030,"file":685,"line":1031},"$_FILES",110,{"id":993,"type":994,"label":1033,"file":685,"line":855,"wp_function":1034},"file_get_contents() [SSRF\u002FLFI]","file_get_contents",[1036],{"from":989,"to":993,"sanitized":331},{"entryPoint":1038,"graph":1039,"unsanitizedCount":27,"severity":38},"show_results (admin\\import-publications.php:308)",{"nodes":1040,"edges":1048},[1041,1042,1043,1046],{"id":989,"type":990,"label":991,"file":685,"line":477},{"id":993,"type":994,"label":995,"file":685,"line":477,"wp_function":996},{"id":998,"type":990,"label":1044,"file":685,"line":1045},"$_POST",347,{"id":1001,"type":994,"label":995,"file":685,"line":1047,"wp_function":996},373,[1049,1050],{"from":989,"to":993,"sanitized":331},{"from":998,"to":1001,"sanitized":331},{"entryPoint":1052,"graph":1053,"unsanitizedCount":94,"severity":38},"tp_pub_rss_feed_func (core\\feeds.php:12)",{"nodes":1054,"edges":1059},[1055,1058],{"id":989,"type":990,"label":1056,"file":395,"line":1057},"$_SERVER",15,{"id":993,"type":994,"label":995,"file":395,"line":940,"wp_function":996},[1060],{"from":989,"to":993,"sanitized":331},{"entryPoint":1062,"graph":1063,"unsanitizedCount":94,"severity":38},"tp_write_data_for_tinymce (core\\general.php:377)",{"nodes":1064,"edges":1067},[1065,1066],{"id":989,"type":990,"label":1012,"file":948,"line":520},{"id":993,"type":994,"label":995,"file":948,"line":957,"wp_function":996},[1068],{"from":989,"to":993,"sanitized":331},{"entryPoint":1070,"graph":1071,"unsanitizedCount":175,"severity":1082},"\u003Cadd-publication> (admin\\add-publication.php:0)",{"nodes":1072,"edges":1078},[1073,1074,1075,1077],{"id":989,"type":990,"label":991,"file":639,"line":257},{"id":993,"type":994,"label":995,"file":639,"line":257,"wp_function":996},{"id":998,"type":990,"label":1076,"file":639,"line":965},"$_POST (x4)",{"id":1001,"type":994,"label":995,"file":639,"line":433,"wp_function":996},[1079,1081],{"from":989,"to":993,"sanitized":1080},true,{"from":998,"to":1001,"sanitized":1080},"low",{"entryPoint":1084,"graph":1085,"unsanitizedCount":175,"severity":1082},"\u003Cclass-authors-page> (admin\\class-authors-page.php:0)",{"nodes":1086,"edges":1091},[1087,1088,1089,1090],{"id":989,"type":990,"label":991,"file":653,"line":919},{"id":993,"type":994,"label":995,"file":653,"line":919,"wp_function":996},{"id":998,"type":990,"label":1012,"file":653,"line":422},{"id":1001,"type":994,"label":995,"file":653,"line":658,"wp_function":996},[1092,1093],{"from":989,"to":993,"sanitized":1080},{"from":998,"to":1001,"sanitized":1080},{"entryPoint":1095,"graph":1096,"unsanitizedCount":175,"severity":1082},"\u003Cclass-tags-page> (admin\\class-tags-page.php:0)",{"nodes":1097,"edges":1100},[1098,1099],{"id":989,"type":990,"label":991,"file":680,"line":389},{"id":993,"type":994,"label":995,"file":680,"line":389,"wp_function":996},[1101],{"from":989,"to":993,"sanitized":1080},{"entryPoint":1103,"graph":1104,"unsanitizedCount":175,"severity":1082},"import_tab (admin\\import-publications.php:189)",{"nodes":1105,"edges":1109},[1106,1108],{"id":989,"type":990,"label":991,"file":685,"line":1107},191,{"id":993,"type":994,"label":995,"file":685,"line":1107,"wp_function":996},[1110],{"from":989,"to":993,"sanitized":1080},{"entryPoint":1112,"graph":1113,"unsanitizedCount":175,"severity":1082},"\u003Cimport-publications> (admin\\import-publications.php:0)",{"nodes":1114,"edges":1124},[1115,1116,1117,1119,1120,1122],{"id":989,"type":990,"label":1030,"file":685,"line":1031},{"id":993,"type":994,"label":1033,"file":685,"line":855,"wp_function":1034},{"id":998,"type":990,"label":1118,"file":685,"line":1107},"$_SERVER['REQUEST_URI'] (x2)",{"id":1001,"type":994,"label":995,"file":685,"line":1107,"wp_function":996},{"id":1121,"type":990,"label":1044,"file":685,"line":1045},"n4",{"id":1123,"type":994,"label":995,"file":685,"line":1047,"wp_function":996},"n5",[1125,1126,1127],{"from":989,"to":993,"sanitized":1080},{"from":998,"to":1001,"sanitized":1080},{"from":1121,"to":1123,"sanitized":1080},{"entryPoint":1129,"graph":1130,"unsanitizedCount":175,"severity":1082},"sources_tab (admin\\publication-sources.php:102)",{"nodes":1131,"edges":1134},[1132,1133],{"id":989,"type":990,"label":991,"file":403,"line":922},{"id":993,"type":994,"label":995,"file":403,"line":922,"wp_function":996},[1135],{"from":989,"to":993,"sanitized":1080},{"entryPoint":1137,"graph":1138,"unsanitizedCount":175,"severity":1082},"\u003Cpublication-sources> (admin\\publication-sources.php:0)",{"nodes":1139,"edges":1142},[1140,1141],{"id":989,"type":990,"label":991,"file":403,"line":922},{"id":993,"type":994,"label":995,"file":403,"line":922,"wp_function":996},[1143],{"from":989,"to":993,"sanitized":1080},{"entryPoint":1145,"graph":1146,"unsanitizedCount":175,"severity":1082},"tp_handle_document_uploads (core\\admin.php:625)",{"nodes":1147,"edges":1160},[1148,1150,1151,1153,1156],{"id":989,"type":990,"label":1030,"file":266,"line":1149},628,{"id":993,"type":994,"label":995,"file":266,"line":549,"wp_function":996},{"id":998,"type":990,"label":1152,"file":266,"line":1149},"$_FILES['async-upload']",{"id":1001,"type":1154,"label":1155,"file":266,"line":1149},"transform","→ tp_handle_upload()",{"id":1121,"type":994,"label":1157,"file":266,"line":1158,"wp_function":1159},"call_user_func() [RCE]",748,"call_user_func",[1161,1162,1163],{"from":989,"to":993,"sanitized":1080},{"from":998,"to":1001,"sanitized":331},{"from":1001,"to":1121,"sanitized":1080},{"entryPoint":1165,"graph":1166,"unsanitizedCount":175,"severity":1082},"\u003Cadmin> (core\\admin.php:0)",{"nodes":1167,"edges":1173},[1168,1169,1170,1171,1172],{"id":989,"type":990,"label":1030,"file":266,"line":1149},{"id":993,"type":994,"label":995,"file":266,"line":549,"wp_function":996},{"id":998,"type":990,"label":1152,"file":266,"line":1149},{"id":1001,"type":1154,"label":1155,"file":266,"line":1149},{"id":1121,"type":994,"label":1157,"file":266,"line":1158,"wp_function":1159},[1174,1175,1176],{"from":989,"to":993,"sanitized":1080},{"from":998,"to":1001,"sanitized":331},{"from":1001,"to":1121,"sanitized":1080},{"entryPoint":1178,"graph":1179,"unsanitizedCount":175,"severity":1082},"tp_export_feed_func (core\\feeds.php:122)",{"nodes":1180,"edges":1187},[1181,1183],{"id":989,"type":990,"label":1182,"file":395,"line":888},"$_GET (x6)",{"id":993,"type":994,"label":1184,"file":395,"line":1185,"wp_function":1186},"header() [Header Injection]",129,"header",[1188],{"from":989,"to":993,"sanitized":1080},{"entryPoint":1190,"graph":1191,"unsanitizedCount":175,"severity":1082},"\u003Cfeeds> (core\\feeds.php:0)",{"nodes":1192,"edges":1197},[1193,1194,1195,1196],{"id":989,"type":990,"label":1056,"file":395,"line":1057},{"id":993,"type":994,"label":995,"file":395,"line":940,"wp_function":996},{"id":998,"type":990,"label":1182,"file":395,"line":888},{"id":1001,"type":994,"label":1184,"file":395,"line":1185,"wp_function":1186},[1198,1199],{"from":989,"to":993,"sanitized":1080},{"from":998,"to":1001,"sanitized":1080},{"entryPoint":1201,"graph":1202,"unsanitizedCount":94,"severity":1082},"\u003Cgeneral> (core\\general.php:0)",{"nodes":1203,"edges":1206},[1204,1205],{"id":989,"type":990,"label":1012,"file":948,"line":520},{"id":993,"type":994,"label":995,"file":948,"line":957,"wp_function":996},[1207],{"from":989,"to":993,"sanitized":331},{"summary":1209,"deductions":1210},"The TeachPress plugin v9.0.12 exhibits a mixed security posture, with some positive indicators but significant areas of concern. While it utilizes prepared statements for a good portion of its SQL queries and has a decent number of nonce and capability checks, the presence of unprotected AJAX handlers and a notable percentage of improperly escaped output are red flags. The taint analysis results are promising, showing no critical or high severity unsanitized flows, but this is juxtaposed by the plugin's historical vulnerability record. The nine known CVEs, including a high-severity SQL injection and several medium-severity issues like CSRF and XSS, suggest a recurring pattern of insecure coding practices. The fact that two CVEs remain unpatched is a critical issue, compounding the risks associated with the existing vulnerabilities. The plugin's last vulnerability was recorded very recently, indicating ongoing security challenges.",[1211,1214,1216,1218,1220,1222],{"reason":1212,"points":1213},"Unpatched CVEs",20,{"reason":1215,"points":207},"AJAX handlers without auth checks",{"reason":1217,"points":207},"SQL queries without prepared statements",{"reason":1219,"points":174},"Output escaping not fully proper",{"reason":1221,"points":1057},"High number of known CVEs historically",{"reason":1223,"points":1057},"Uses dangerous function 'passthru'","2026-03-16T18:29:25.955Z",{"wat":1226,"direct":1245},{"assetPaths":1227,"generatorPatterns":1236,"scriptPaths":1237,"versionParams":1238},[1228,1229,1230,1231,1232,1233,1234,1235],"\u002Fwp-content\u002Fplugins\u002Fteachpress\u002Fcss\u002Ftp-admin.css","\u002Fwp-content\u002Fplugins\u002Fteachpress\u002Fcss\u002Ftp-admin-icons.css","\u002Fwp-content\u002Fplugins\u002Fteachpress\u002Fcss\u002Ftp-publications.css","\u002Fwp-content\u002Fplugins\u002Fteachpress\u002Fcss\u002Ftp-publications-icons.css","\u002Fwp-content\u002Fplugins\u002Fteachpress\u002Fcss\u002Ftp-widget.css","\u002Fwp-content\u002Fplugins\u002Fteachpress\u002Fjs\u002Ftp-admin.js","\u002Fwp-content\u002Fplugins\u002Fteachpress\u002Fjs\u002Ftp-publications.js","\u002Fwp-content\u002Fplugins\u002Fteachpress\u002Fjs\u002Ftp-widget.js",[],[1233,1234,1235],[1239,1240,1241,1242,1243,1244],"teachpress\u002Fcss\u002Ftp-admin.css?ver=","teachpress\u002Fcss\u002Ftp-publications.css?ver=","teachpress\u002Fcss\u002Ftp-widget.css?ver=","teachpress\u002Fjs\u002Ftp-admin.js?ver=","teachpress\u002Fjs\u002Ftp-publications.js?ver=","teachpress\u002Fjs\u002Ftp-widget.js?ver=",{"cssClasses":1246,"htmlComments":1253,"htmlAttributes":1254,"restEndpoints":1256,"jsGlobals":1257,"shortcodeOutput":1260},[1247,1248,1249,1250,1251,1252],"tp-publication","tp-publication-title","tp-publication-authors","tp-publication-year","tp-publication-type","tp-widget-publications",[],[1255],"data-tp-publication-id",[],[4,1258,1259],"tp_publications_params","tp_widget_params",[1261,1262],"[teachpress_publications","[teachpress_single_publication"]