I have 3 menu points. Each of these is supposed to link to the newest post in its category. This can be done manually with the Wordpress Menu. But I want this Link to update automatically. It should link to the Postpage.
Since I have no php knowledge I found the snippet below and followed the instructions.
Got the Snippet from here: http://t-machine.org/index.php/2016/05/19/wordpress-plugin-insert-link-to-latest-post-in-category-on-your-menu/
/** Adam: add support for putting 'latest post in category X' to menu: */
// Front end only, don't hack on the settings page
if ( ! is_admin() ) {
// Hook in early to modify the menu
// This is before the CSS "selected" classes are calculated
add_filter( 'wp_get_nav_menu_items', 'replace_placeholder_nav_menu_item_with_latest_post', 10, 3 );
}
// Replaces a custom URL placeholder with the URL to the latest post
function replace_placeholder_nav_menu_item_with_latest_post( $items, $menu, $args ) {
$key = 'http://#latestpost:';
// Loop through the menu items looking for placeholder(s)
foreach ( $items as $item ) {
// Is this the placeholder we're looking for?
if ( 0 === strpos( $item->url, $key ) )
{
$catname = substr( $item->url, strlen($key) );
// Get the latest post
$latestpost = get_posts( array(
'posts_per_page' => 1,
'category_name' => $catname
) );
if ( empty( $latestpost ) )
continue;
// Replace the placeholder with the real URL
$item->url = get_permalink( $latestpost[0]->ID );
}
}
// Return the modified (or maybe unmodified) menu items array
return $items;
}