{"id":159723,"date":"2022-07-08T08:37:18","date_gmt":"2022-07-08T08:37:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/page-navigation-by-menu\/"},"modified":"2025-12-05T00:31:15","modified_gmt":"2025-12-05T00:31:15","slug":"page-navigation-by-menu","status":"publish","type":"plugin","link":"https:\/\/scn.wordpress.org\/plugins\/page-navigation-by-menu\/","author":13367846,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.1","stable_tag":"trunk","tested":"6.9.4","requires":"4.9","requires_php":"5.6","requires_plugins":null,"header_name":"Page navigation by menu","header_author":"Lovro Hrust","header_description":"Output navigation","assets_banners_color":"","last_updated":"2025-12-05 00:31:15","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/makeiteasy.hr","rating":0,"author_block_rating":0,"active_installs":0,"downloads":1384,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"lovor","date":"2024-02-11 10:30:38"},"1.0.1":{"tag":"1.0.1","author":"lovor","date":"2024-06-22 13:26:30"},"1.1.0":{"tag":"1.1.0","author":"lovor","date":"2025-12-05 00:22:41"}},"upgrade_notice":{"1.0.0":"<p>No upgrade notices.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1865,1753,3980,170,3981],"plugin_category":[43],"plugin_contributors":[163764],"plugin_business_model":[],"class_list":["post-159723","plugin","type-plugin","status-publish","hentry","plugin_tags-menu","plugin_tags-navigation","plugin_tags-next","plugin_tags-page","plugin_tags-previous","plugin_category-customization","plugin_contributors-lovor","plugin_committers-lovor"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/page-navigation-by-menu.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Plugin to support navigation by pages - similar to built in function the_posts_navigation() for posts.\nPages in navigation are filtered by provided menu (Primary menu by default) and sorted in the same order as in menu.\nBy default, main menu is used, but different menu could be used by calling function for displaying with different menu as parameter.<\/p>\n\n<h3>Disclaimer!<\/h3>\n\n<p>This plugin works only with classic themes. With FSE themes it will not work, since it depends on classic menus.<\/p>\n\n<h3>Usage<\/h3>\n\n<h4>Basic<\/h4>\n\n<p>Just install and call <code>the_pages_navigation()<\/code> in your php template. There is also a <code>get_the_pages_navigation()<\/code> function which returns string with same content.\nArguments to these functions could be supplied, all optional.\n* $menu - a menu ID, slug, name, or object (WP_Term) for which to show pages\n* $start_position - start position from which position in menu to start navigation\n? $end_position - to which position in menu to show navigation<\/p>\n\n<h4>Advanced<\/h4>\n\n<p>There are filters that can help to customize plugin output.<\/p>\n\n<p>Change menu filter<\/p>\n\n<pre><code>apply_filters('page_nav_menu', $default_menu)\n<\/code><\/pre>\n\n<p>Filters menu used for navigation.<\/p>\n\n<ul>\n<li>$default_menu - a menu ID, slug, name, or object (WP_Term)<\/li>\n<\/ul>\n\n<p>Arrow filters<\/p>\n\n<pre><code>apply_filters( 'page_nav_left_arrow', $HTML )\napply_filters( 'page_nav_right_arrow', $HTML )\n<\/code><\/pre>\n\n<p>Filters arrow output.<\/p>\n\n<ul>\n<li>$HTML - HTML of arrow, coded as SVG, img or something else.<\/li>\n<\/ul>\n\n<p>Filter output<\/p>\n\n<pre><code>apply_filters( 'arrow_wrapper', $HTML_output, $left, $enabled, $output_image, $output_link, $output_div, $output_text )\n<\/code><\/pre>\n\n<p>Filters whole HTML output.<\/p>\n\n<ul>\n<li>$HTML_output - as the name says<\/li>\n<li>$left - output is for left side (previous)<\/li>\n<li>$enabled - navigation on that side is enabled<\/li>\n<li>$output_image - html of arrow image<\/li>\n<li>$output_link - URL of link to which arrow leads<\/li>\n<li>$output_div - wrapper of text besides arrow<\/li>\n<li>$output_text - text besides arrow<\/li>\n<\/ul>\n\n<h4>Examples of filtering<\/h4>\n\n<pre><code>add_filter( 'page_nav_left_arrow', function() {\n    return '&lt;svg width=\"53\" height=\"32\" viewBox=\"0 0 53 32\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"&gt;&lt;path d=\"M51.77 15.994H1M16.622 31L1 15.998 16.622 1v30z\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/&gt;&lt;\/svg&gt;';\n} );\n<\/code><\/pre>\n\n<!--section=installation-->\n<p>Standard installation procedure - from repository or downloaded zip file. Plugin does not have settings or admin part.\nIt does not store any information in database nor in file system.\nUse hooks in code for customizing.<\/p>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Fixed error when first parameter in *pages_navigation functions is not given<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix PHP errors if FSE theme is active<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial version<\/li>\n<\/ul>","raw_excerpt":"Create navigation to next\/previous pages similar to navigation for posts. Previous and next pages are determined from menu.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/159723","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=159723"}],"author":[{"embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/lovor"}],"wp:attachment":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=159723"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=159723"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=159723"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=159723"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=159723"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=159723"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}