[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f9c7oOsuKBgIb8DypZKFxrtXqG6RMInHP0hv5K16w9Vg":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":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":37,"analysis":139,"fingerprints":211},"wp-smart-pagination","WP Smart Pagination","0.2","Kharis Sulistiyono","https:\u002F\u002Fprofiles.wordpress.org\u002Fkharisblank\u002F","\u003Cp>This simple plugin improves your WordPress powered blog pagination with extra input number where users can jump to any (x) page.\u003C\u002Fp>\n\u003Cp>For custom styling matches your theme’s skin, modify the .less or .css file in the plugin package.\u003C\u002Fp>\n\u003Cp>Check the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-smart-pagination\u002Fscreenshots\u002F\" rel=\"ugc\">screenshot\u003C\u002Fa> for the shake of visual before you download.\u003C\u002Fp>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>After this plugin activated, replace your old-school pagination with this schortcode \u003Ccode>\u003C?php echo do_shortcode('[wpsp]'); ?>\u003C\u002Fcode> in your template file, i.e. index.php, archive.php, search.php, or any template requires pagination.\u003C\u002Fp>\n","Improve your WordPress powered blog pagination with extra input number where users can jump to any (x) page.",100,11980,74,3,"2013-11-19T09:27:00.000Z","3.7.41","2.1.0","",[20,21,22],"page","pagination","shortcode","https:\u002F\u002Fgithub.com\u002Fkharissulistiyo\u002FWP-Smart-Pagination","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-smart-pagination.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":25,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"kharisblank",5,230,30,84,"2026-04-04T21:02:59.472Z",[38,57,75,97,117],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":26,"num_ratings":26,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":18,"tags":51,"homepage":55,"download_link":56,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"cc-list-posts","CC-List-Posts","1.0.1","Clearcode","https:\u002F\u002Fprofiles.wordpress.org\u002Fclearcodehq\u002F","\u003Cp>The CC-List-Posts plugin works out of the box.\u003Cbr \u002F>\nThere is no settings page for it.\u003Cbr \u002F>\nAfter activation you can start using \u003Ccode>wp_list_posts\u003C\u002Fcode> function and\u002For shortcode with the parameters listed below.\u003C\u002Fp>\n\u003Cp>\u003Cem>\u003Cstrong>Notice\u003C\u002Fstrong>: the plugin can be used with the \u003Ccode>wp_link_pages\u003C\u002Fcode> built-in functionality if you use \u003Ccode>pagination\u003C\u002Fcode> parameter with integer value.\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch4>Defaults\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>before\u003C\u002Fstrong>: (string) \u003Cul>,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>after\u003C\u002Fstrong>: (string) \u003C\u002Ful>,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>link_before\u003C\u002Fstrong>: (string) \u003Cem>empty string\u003C\u002Fem>,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>link_after\u003C\u002Fstrong>: (string) \u003Cem>empty string\u003C\u002Fem>,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>type\u003C\u002Fstrong>: (string) postbypost,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>echo\u003C\u002Fstrong>: (integer) 0,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>pagination\u003C\u002Fstrong>: (boolean|integer) false,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>format\u003C\u002Fstrong>: (string) html\u003C\u002Fli>\n\u003Cli>\u003Cstrong>type\u003C\u002Fstrong>: (string) monthly,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>limit\u003C\u002Fstrong>: (string) \u003Cem>empty string\u003C\u002Fem>,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>show_post_count\u003C\u002Fstrong>: (boolean) false,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>order\u003C\u002Fstrong>: (string) DESC,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>post_type\u003C\u002Fstrong>: (string) post\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cem>\u003Cstrong>Notice\u003C\u002Fstrong>: plugin uses \u003Ccode>wp_get_archives\u003C\u002Fcode> function to list posts, so you can also use additional parameters. A full list is available at WordPress \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FFunction_Reference\u002Fwp_get_archives\" rel=\"nofollow ugc\">codex\u003C\u002Fa> page documentation.\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch4>wp_list_posts parameter mapped to wp_get_archives\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>link_before\u003C\u002Fstrong>: before\u003C\u002Fli>\n\u003Cli>\u003Cstrong>link_after\u003C\u002Fstrong>: after\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Default usage\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Function\u003C\u002Fstrong>: \u003Ccode>wp_list_posts( array( 'pagination' => 50 ) )\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode\u003C\u002Fstrong>: \u003Ccode>[wp_list_posts pagination=50]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n","This plugin adds similar to wp_list_pages, missing function and shortcode wp_list_posts with pagination support.",10,1496,"2022-03-16T14:37:00.000Z","5.9.13","4.7",[21,22,52,53,54],"wp_get_archives","wp_list_pages","wp_list_posts","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcc-list-posts","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcc-list-posts.zip",{"slug":58,"name":59,"version":60,"author":61,"author_profile":62,"description":63,"short_description":64,"active_installs":46,"downloaded":65,"rating":26,"num_ratings":26,"last_updated":66,"tested_up_to":67,"requires_at_least":68,"requires_php":69,"tags":70,"homepage":72,"download_link":73,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":74},"nextpage-link","NextPage Link","1.0.2","NewsFront","https:\u002F\u002Fprofiles.wordpress.org\u002Fnewsfront\u002F","\u003Cp>A link to the next page can be displayed using a short code.\u003C\u002Fp>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>PHP version 5.3 or greater.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>All files and scripts are licensed under GNU General Public License.\u003C\u002Fp>\n","A link to the next page can be displayed using a short code.",1438,"2022-11-04T00:55:00.000Z","6.1.10","5.7","5.3",[71,21,22],"nextpage","https:\u002F\u002Fwww.newsfront.jp\u002Fwordpress\u002Fplugins\u002Fnextpage-link\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnextpage-link.1.0.2.zip","2026-03-15T14:54:45.397Z",{"slug":76,"name":77,"version":78,"author":79,"author_profile":80,"description":81,"short_description":82,"active_installs":83,"downloaded":84,"rating":85,"num_ratings":86,"last_updated":87,"tested_up_to":88,"requires_at_least":89,"requires_php":18,"tags":90,"homepage":94,"download_link":95,"security_score":96,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"wp-pagenavi","WP-PageNavi","2.94.5","Lester Chan","https:\u002F\u002Fprofiles.wordpress.org\u002Fgamerz\u002F","\u003Cp>Want to replace the old \u003Cem>&larr; Older posts | Newer posts &rarr;\u003C\u002Fem> links with some page links?\u003C\u002Fp>\n\u003Cp>This plugin provides the \u003Ccode>wp_pagenavi()\u003C\u002Fcode> template tag which generates fancy pagination links.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>In your theme, you need to find calls to next_posts_link() and previous_posts_link() and replace them.\u003C\u002Fp>\n\u003Cp>In the Twentyten theme, it looks like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cdiv class=\"nav-previous\">\u003C?php next_posts_link( __( '\u003Cspan class=\"meta-nav\">&larr;\u003C\u002Fspan> Older posts', 'twentyten' ) ); ?>\u003C\u002Fdiv>\n\u003Cdiv class=\"nav-next\">\u003C?php previous_posts_link( __( 'Newer posts \u003Cspan class=\"meta-nav\">&rarr;\u003C\u002Fspan>', 'twentyten' ) ); ?>\u003C\u002Fdiv>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You would replace those two lines with this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php wp_pagenavi(); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>For multipart pages, you would look for code like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php wp_link_pages( ... ); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>and replace it with this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php wp_pagenavi( array( 'type' => 'multipart' ) ); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Go to \u003Cem>WP-Admin -> Settings -> PageNavi\u003C\u002Fem> for configuration.\u003C\u002Fp>\n\u003Ch3>Changing the CSS\u003C\u002Fh3>\n\u003Cp>If you need to configure the CSS style of WP-PageNavi, you can copy the \u003Ccode>pagenavi-css.css\u003C\u002Fcode> file from the plugin directory to your theme’s directory and make your modifications there. This way, you won’t lose your changes when you update the plugin.\u003C\u002Fp>\n\u003Cp>Alternatively, you can uncheck the “Use pagenavi.css?” option from the settings page and add the styles to your theme’s style.css file directly.\u003C\u002Fp>\n\u003Ch3>Changing Class Names\u003C\u002Fh3>\n\u003Cp>There are \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FGlossary#Filter\" rel=\"nofollow ugc\">filters\u003C\u002Fa> that can be used to change the default class names that are assigned to page navigation elements.\u003C\u002Fp>\n\u003Ch4>Filters\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>wp_pagenavi_class_pages\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_first\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_previouspostslink\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_extend\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_smaller\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_page\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_current\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_larger\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_nextpostslink\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_last\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Filter Usage\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>\u002F\u002F Simple Usage - 1 callback per filter\nadd_filter('wp_pagenavi_class_previouspostslink', 'theme_pagination_previouspostslink_class');\nadd_filter('wp_pagenavi_class_nextpostslink', 'theme_pagination_nextpostslink_class');\nadd_filter('wp_pagenavi_class_page', 'theme_pagination_page_class');\n\nfunction theme_pagination_previouspostslink_class($class_name) {\n  return 'pagination__control-link pagination__control-link--previous';\n}\n\nfunction theme_pagination_nextpostslink_class($class_name) {\n  return 'pagination__control-link pagination__control-link--next';\n}\n\nfunction theme_pagination_page_class($class_name) {\n  return 'pagination__current-page';\n}\n\n\n\u002F\u002F More Concise Usage - 1 callback for all filters\nadd_filter('wp_pagenavi_class_previouspostslink', 'theme_pagination_class');\nadd_filter('wp_pagenavi_class_nextpostslink', 'theme_pagination_class');\nadd_filter('wp_pagenavi_class_page', 'theme_pagination_class');\n\nfunction theme_pagination_class($class_name) {\n  switch($class_name) {\n    case 'previouspostslink':\n      $class_name = 'pagination__control-link pagination__control-link--previous';\n      break;\n    case 'nextpostslink':\n      $class_name = 'pagination__control-link pagination__control-link--next';\n      break;\n    case 'page':\n      $class_name = 'pagination__current'\n      break;\n  }\n  return $class_name;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Development\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flesterchan\u002Fwp-pagenavi\" title=\"https:\u002F\u002Fgithub.com\u002Flesterchan\u002Fwp-pagenavi\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Flesterchan\u002Fwp-pagenavi\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Plugin icon by \u003Ca href=\"http:\u002F\u002Fwww.simpleicon.com\" rel=\"nofollow ugc\">SimpleIcon\u003C\u002Fa> from \u003Ca href=\"http:\u002F\u002Fwww.flaticon.com\" rel=\"nofollow ugc\">Flaticon\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Donations\u003C\u002Fh3>\n\u003Cp>I spent most of my free time creating, updating, maintaining and supporting these plugins, if you really love my plugins and could spare me a couple of bucks, I will really appreciate it. If not feel free to use it without any obligations.\u003C\u002Fp>\n","Adds a more advanced paging navigation interface.",500000,13305409,94,149,"2024-12-19T01:02:00.000Z","6.7.5","4.6",[91,92,21,93],"navigation","pages","paging","https:\u002F\u002Flesterchan.net\u002Fportfolio\u002Fprogramming\u002Fphp\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-pagenavi.2.94.5.zip",92,{"slug":98,"name":99,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":105,"downloaded":106,"rating":107,"num_ratings":108,"last_updated":109,"tested_up_to":110,"requires_at_least":111,"requires_php":18,"tags":112,"homepage":115,"download_link":116,"security_score":96,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"display-posts-shortcode","Display Posts – Easy lists, grids, navigation, and more","3.0.3","Bill Erickson","https:\u002F\u002Fprofiles.wordpress.org\u002Fbillerickson\u002F","\u003Cp>Display Posts allows you easily list content from all across your website. Start by adding this shortcode in the content editor to display a list of your most recent posts:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[display-posts]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Filter by Category\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>To only show posts within a certain category, use the category parameter:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[display-posts category=\"news\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Display as Post Grid\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>You can create a great looking, column-based grid of posts with a bit of styling. \u003Ca href=\"https:\u002F\u002Fdisplayposts.com\u002F2019\u002F01\u002F04\u002Fpost-grid-styling\u002F\" rel=\"nofollow ugc\">Here’s how!\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>List Popular Posts\u003C\u002Fstrong>\u003Cbr \u002F>\nYou can highlight your popular content in multiple ways. If you want to feature the posts with the most comments, use:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[display-posts orderby=\"comment_count\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You can also list \u003Ca href=\"https:\u002F\u002Fdisplayposts.com\u002F2019\u002F01\u002F04\u002Fmost-popular-posts-by-social-shares\u002F\" rel=\"nofollow ugc\">most popular posts by social shares\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Include thumbnails, excerpts, and more\u003C\u002Fstrong>\u003Cbr \u002F>\nThe \u003Ca href=\"https:\u002F\u002Fdisplayposts.com\u002Fdocs\u002Fparameters\u002F#display-parameters\" rel=\"nofollow ugc\">display parameters\u003C\u002Fa> let you control what information is displayed for each post. To include an image and summary, use:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[display-posts include_excerpt=\"true\" image_size=\"thumbnail\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You can use any image size added by WordPress (thumbnail, medium, medium_large, large) OR any custom image size added by your theme or other plugins.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Sort the list however you like\u003C\u002Fstrong>\u003Cbr \u002F>\nBy default the listing will list the newest content first, but you can order by title, menu order, relevance, content type, metadata, and more.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>List upcoming events\u003C\u002Fstrong>\u003Cbr \u002F>\nYou can easily list upcoming events from any event calendar. Each plugin will require slightly different code.\u003C\u002Fp>\n\u003Cp>Here are \u003Ca href=\"https:\u002F\u002Fdisplayposts.com\u002Ftag\u002Fevents\u002F\" rel=\"nofollow ugc\">tutorials for popular event calendar plugins\u003C\u002Fa>. If your plugin is not listed here, submit a support request and I’ll add it!\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Tutorials\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fdisplayposts.com\u002Ftutorials\u002F\" rel=\"nofollow ugc\">Our tutorials\u003C\u002Fa> cover common customization requests, and are updated often.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Full Documentation\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdisplayposts.com\u002Fdocs\u002Fparameters\u002F#query-parameters\" rel=\"nofollow ugc\">Query parameters\u003C\u002Fa> for customizing which posts are listed (filter by category, tag, date…)\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdisplayposts.com\u002Fdocs\u002Fparameters\u002F#display-parameters\" rel=\"nofollow ugc\">Display parameters\u003C\u002Fa> determine how the posts appear (title, excerpt, image…)\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdisplayposts.com\u002F2019\u002F01\u002F04\u002Fuse-template-parts-to-match-your-themes-styling\u002F\" rel=\"nofollow ugc\">Template parts\u003C\u002Fa> for Display Posts to perfectly match your theme’s post listings\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdisplayposts.com\u002Fdocs\u002Fthe-output-filter\u002F\" rel=\"nofollow ugc\">Output filter\u003C\u002Fa> for complete control over how the listing looks on your site\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdisplayposts.com\u002Fdocs\u002Fparameters\u002F#display-parameters\" rel=\"nofollow ugc\">Filters\u003C\u002Fa> for even more powerful customizations for developers\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Extensions\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbillerickson\u002FDisplay-Posts-Pagination\" rel=\"nofollow ugc\">Display Posts – Pagination\u003C\u002Fa> – Allow results of Display Posts to be paginated\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdisplay-posts-date-view\u002F\" rel=\"ugc\">Display Posts – Date View\u003C\u002Fa> – Lets you break your content down by month or year.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbillerickson\u002FDisplay-Posts-Alpha-View\" rel=\"nofollow ugc\">Display Posts – Alpha View\u003C\u002Fa> – Display an alphabetical listing of your content, broken down by letter\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbillerickson\u002FDisplay-Posts-Transient-Cache\" rel=\"nofollow ugc\">Display Posts – Transient Cache\u003C\u002Fa> – Cache the output using transients\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbillerickson\u002Fdps-coauthor-addon\" rel=\"nofollow ugc\">Co-Authors Plus Addon\u003C\u002Fa> – multiple authors on posts\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbillerickson\u002Fdps-columns-extension\" rel=\"nofollow ugc\">Columns Extension\u003C\u002Fa> – display posts in columns\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbillerickson\u002FDPS-Exclude-Sticky\" rel=\"nofollow ugc\">DPS Exclude Sticky\u003C\u002Fa> – exclude sticky posts unless specifically requested\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fshazahm1\u002FDisplay-Posts-Shortcode-Pinch-Zoomer\" rel=\"nofollow ugc\">DPS Pinch Zoomer\u003C\u002Fa> – adds support pinch zooming post images on mobile devices and mouse wheel zooming on desktops\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fshazahm1\u002FDisplay-Posts-Shortcode-Remote\" rel=\"nofollow ugc\">Display Posts Shortcode Remote\u003C\u002Fa> – display posts from a remote WordPress site utilizing the WP REST API.\u003C\u002Fli>\n\u003C\u002Ful>\n","Add a listing of content on your website using a simple shortcode. Filter the results by category, author, and more.",80000,1250447,96,164,"2024-10-14T16:53:00.000Z","6.6.5","3.0",[20,92,113,114,22],"posts","query","https:\u002F\u002Fdisplayposts.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisplay-posts-shortcode.3.0.3.zip",{"slug":118,"name":119,"version":120,"author":121,"author_profile":122,"description":123,"short_description":124,"active_installs":125,"downloaded":126,"rating":107,"num_ratings":127,"last_updated":128,"tested_up_to":129,"requires_at_least":130,"requires_php":18,"tags":131,"homepage":134,"download_link":135,"security_score":136,"vuln_count":137,"unpatched_count":26,"last_vuln_date":138,"fetched_at":28},"insert-pages","Insert Pages","3.11.2","Paul Ryan","https:\u002F\u002Fprofiles.wordpress.org\u002Ffigureone\u002F","\u003Cp>Insert Pages lets you embed any WordPress content (e.g., pages, posts, custom post types) into other WordPress content using the Shortcode API. It also includes a widget for inserting pages into any widget area.\u003C\u002Fp>\n\u003Cp>The real power of Insert Pages comes when you start creating custom post types, either \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FPost_Types\" rel=\"nofollow ugc\">programmatically in your theme\u003C\u002Fa>, or using another plugin like \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcustom-post-type-ui\u002F\" rel=\"ugc\">Custom Post Type UI\u003C\u002Fa>. You can then abstract away common data types (like videos, quizzes, due dates) into their own custom post types, and then show those pieces of content within your normal pages and posts by Inserting them as a shortcode.\u003C\u002Fp>\n\u003Ch3>Advanced Tutorial\u003C\u002Fh3>\n\u003Cp>Contributor Wes Modes has graciously written an updated tutorial for the Gutenberg era, focused on creating a custom post type with custom fields and a custom template for rendering content. Read it here: \u003Ca href=\"https:\u002F\u002Fmedium.com\u002F@wesmodes\u002Fusing-wordpress-insert-pages-plugin-with-your-custom-post-types-and-custom-templates-535c141f9635\" rel=\"nofollow ugc\">https:\u002F\u002Fmedium.com\u002F@wesmodes\u002Fusing-wordpress-insert-pages-plugin-with-your-custom-post-types-and-custom-templates-535c141f9635\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Example: Normal Use Case\u003C\u002Fh3>\n\u003Cp>Say you teach a course and you’re constantly referring to an assignment due date in your course website. The next semester the due date changes, and you have to go change all of the locations you referred to it. Instead, you’d rather just change the date once! With Insert Pages, you can do the following:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Create a custom post type called \u003Cstrong>Due Date\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Create a new \u003Cem>Due Date\u003C\u002Fem> called \u003Cstrong>Assignment 1 Due Date\u003C\u002Fstrong> with \u003Cstrong>Fri Nov 22, 2013\u003C\u002Fstrong> as its content.\u003C\u002Fli>\n\u003Cli>Edit all the pages where the due date occurs and use the \u003Cem>Insert Pages\u003C\u002Fem> toolbar button to insert a reference to the \u003Cem>Due Date\u003C\u002Fem> you just created. Be sure to set the \u003Cem>Display\u003C\u002Fem> to \u003Cstrong>Content\u003C\u002Fstrong> so \u003Cem>Fri Nov 22, 2013\u003C\u002Fem> shows wherever you insert it. The shortcode you just created should look something like this: \u003Ccode>[insert page='assignment-1-due-date' display='content']\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>That’s it! Now, when you want to change the due date, just edit the \u003Cem>Assignment 1 Due Date\u003C\u002Fem> custom post you created, and it will automatically be updated on all the pages you inserted it on.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Example: Advanced Use Case\u003C\u002Fh3>\n\u003Cp>Say your site has a lot of video content, and you want to include video transcripts and video lengths along with the videos wherever you show them. You could just paste the transcripts into the page content under the video, but then you’d have to do this on every page the video showed on. (It’s also just a bad idea, architecturally!) With Insert Pages, you can use a custom post type and create a custom theme template to display your videos+transcripts+lengths just the way you want!\u003C\u002Fp>\n\u003Col>\n\u003Cli>Create a custom post type called \u003Cstrong>Video\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Use a plugin like \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadvanced-custom-fields\u002F\" rel=\"ugc\">Advanced Custom Fields\u003C\u002Fa> to add extra fields to your new \u003Cem>Video\u003C\u002Fem> custom post type. Add a \u003Cstrong>Video URL\u003C\u002Fstrong> field, a \u003Cstrong>Transcript\u003C\u002Fstrong> field, and a \u003Cstrong>Video Length\u003C\u002Fstrong> field.\u003C\u002Fli>\n\u003Cli>Create a new \u003Cem>Video\u003C\u002Fem> called \u003Cstrong>My Awesome Video\u003C\u002Fstrong> with the following values in its fields:\n\u003Cul>\n\u003Cli>\u003Cem>Video URL\u003C\u002Fem>: \u003Cstrong>http:\u002F\u002Fwww.youtube.com\u002Fwatch?v=oHg5SJYRHA0\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cem>Transcript\u003C\u002Fem>: \u003Cstrong>We’re no strangers to love, You know the rules and so do I…\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cem>Video Length\u003C\u002Fem>: \u003Cstrong>3:34\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Create a template in your theme so we can display the video content as we want. I won’t cover this step here since it’s pretty involved, but you can find more help in the \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FTheme_Development#Custom_Page_Templates\" rel=\"nofollow ugc\">WordPress Codex\u003C\u002Fa>. Let’s assume you created a template called \u003Cstrong>Video with transcript\u003C\u002Fstrong> (video-with-transcript.php) that shows the youtube video in a \u003Ca href=\"http:\u002F\u002Ffancybox.net\u002F\" rel=\"nofollow ugc\">fancybox\u003C\u002Fa>, and includes a button that shows the text transcript when a user clicks on it.\u003C\u002Fli>\n\u003Cli>Edit the pages where you want the video to show up and use the \u003Cem>Insert Pages\u003C\u002Fem> toolbar button to insert a reference to the \u003Cem>Video\u003C\u002Fem> you just created. Be sure to set the \u003Cem>Display\u003C\u002Fem> to \u003Cstrong>Use a custom template\u003C\u002Fstrong>, and select your new template \u003Cstrong>Video with transcript\u003C\u002Fstrong>. The shortcode you just created should look something like this: \u003Ccode>[insert page='my-awesome-video' display='video-with-transcript.php']\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>That’s it! Now you can create all sorts of video content and know that it’s being tracked cleanly in the database as its own custom post type, and you can place videos all over your site and not worry about lots of duplicate content.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>The possibilities are endless!\u003C\u002Fp>\n","Insert Pages lets you embed any WordPress content (e.g., pages, posts, custom post types) into other WordPress content using the Shortcode API.",40000,1008854,71,"2026-01-20T23:38:00.000Z","6.9.4","3.3.0",[132,133,92,22],"embed","insert","https:\u002F\u002Fgithub.com\u002Fuhm-coe\u002Finsert-pages","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finsert-pages.3.11.2.zip",99,4,"2022-12-21 00:00:00",{"attackSurface":140,"codeSignals":157,"taintFlows":170,"riskAssessment":197,"analyzedAt":210},{"hooks":141,"ajaxHandlers":148,"restRoutes":149,"shortcodes":150,"cronEvents":155,"entryPointCount":156,"unprotectedCount":26},[142],{"type":143,"name":144,"callback":145,"file":146,"line":147},"action","wp_enqueue_scripts","wp_smart_pagination_style","wp-smart-pagination.php",28,[],[],[151],{"tag":152,"callback":153,"file":146,"line":154},"wpsp","wp_smart_pagination",66,[],1,{"dangerousFunctions":158,"sqlUsage":159,"outputEscaping":161,"fileOperations":26,"externalRequests":26,"nonceChecks":26,"capabilityChecks":26,"bundledLibraries":169},[],{"prepared":26,"raw":26,"locations":160},[],{"escaped":156,"rawEcho":162,"locations":163},2,[164,167],{"file":146,"line":165,"context":166},42,"raw output",{"file":146,"line":168,"context":166},50,[],[171,188],{"entryPoint":172,"graph":173,"unsanitizedCount":156,"severity":187},"wp_smart_pagination (wp-smart-pagination.php:35)",{"nodes":174,"edges":184},[175,179],{"id":176,"type":177,"label":178,"file":146,"line":168},"n0","source","$_SERVER['REQUEST_URI']",{"id":180,"type":181,"label":182,"file":146,"line":168,"wp_function":183},"n1","sink","echo() [XSS]","echo",[185],{"from":176,"to":180,"sanitized":186},false,"medium",{"entryPoint":189,"graph":190,"unsanitizedCount":156,"severity":196},"\u003Cwp-smart-pagination> (wp-smart-pagination.php:0)",{"nodes":191,"edges":194},[192,193],{"id":176,"type":177,"label":178,"file":146,"line":168},{"id":180,"type":181,"label":182,"file":146,"line":168,"wp_function":183},[195],{"from":176,"to":180,"sanitized":186},"low",{"summary":198,"deductions":199},"The \"wp-smart-pagination\" plugin v0.2 exhibits a generally good security posture due to the absence of known vulnerabilities and a lack of dangerous functions or external HTTP requests. The code analysis shows that all SQL queries utilize prepared statements, which is a strong defense against SQL injection. Furthermore, there are no AJAX handlers or REST API routes without authentication checks, and no cron events are present, significantly limiting the external attack surface. However, a notable concern arises from the taint analysis, which identified two flows with unsanitized paths. While these did not escalate to critical or high severity, they indicate potential weaknesses in how data might be handled if it originates from user input and is used in file operations or other sensitive contexts. Additionally, only one-third of the output is properly escaped, suggesting a risk of Cross-Site Scripting (XSS) vulnerabilities if user-controlled data is displayed without adequate sanitization.",[200,203,206,208],{"reason":201,"points":202},"Taint flows with unsanitized paths",8,{"reason":204,"points":205},"Low percentage of properly escaped output",7,{"reason":207,"points":32},"No nonce checks on entry points",{"reason":209,"points":32},"No capability checks on entry points","2026-03-16T20:56:58.525Z",{"wat":212,"direct":218},{"assetPaths":213,"generatorPatterns":215,"scriptPaths":216,"versionParams":217},[214],"\u002Fwp-content\u002Fplugins\u002Fwp-smart-pagination\u002Fwp-smart-pagination.css",[],[],[],{"cssClasses":219,"htmlComments":226,"htmlAttributes":227,"restEndpoints":228,"jsGlobals":229,"shortcodeOutput":230},[4,220,221,222,223,224,225],"wpsp-page-nav","wpsp-page-nav-form","wpsp-label","wpsp-hidden","wpsp-input-number","wpsp-button",[],[],[],[],[231,232,233],"\u003Cdiv class=\"wp-smart-pagination\">","\u003Cdiv class=\"wpsp-page-nav\">","\u003Cform class=\"wpsp-page-nav-form\" action=\""]