|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Aldine Filters
|
|
|
|
*
|
|
|
|
* @package Aldine
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace Aldine\Filters;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Adds custom classes to the array of body classes.
|
|
|
|
*
|
|
|
|
* @see https://github.com/roots/sage/blob/master/app/filters.php
|
|
|
|
*
|
|
|
|
* @param array $classes Classes for the body element.
|
|
|
|
* @return array
|
|
|
|
*/
|
|
|
|
function body_classes( array $classes ) {
|
|
|
|
/** Add page slug if it doesn't exist */
|
|
|
|
if ( is_single() || is_page() && ! is_front_page() ) {
|
|
|
|
if ( ! in_array( basename( get_permalink() ), $classes, true ) ) {
|
|
|
|
$classes[] = basename( get_permalink() );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/** Clean up class names for custom templates */
|
|
|
|
$classes = array_map( function ( $class ) {
|
|
|
|
return preg_replace( [ '/-php$/', '/^page-template-/' ], '', $class );
|
|
|
|
}, $classes);
|
|
|
|
|
|
|
|
return array_filter( $classes );
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Customize excerpt.
|
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
function excerpt_more() {
|
|
|
|
return ' … <a href="' . get_permalink() . '">' . __( 'Continued', 'pressbooks-aldine' ) . '</a>';
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Add things to the menu.
|
|
|
|
*
|
|
|
|
* @param string $items
|
|
|
|
* @param object $args
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
|
|
|
|
function adjust_menu( $items, $args ) {
|
|
|
|
if ( $args->theme_location === 'primary-menu' ) {
|
|
|
|
if ( ! is_front_page() ) {
|
|
|
|
$items = sprintf(
|
|
|
|
'<li><a href="%1$s">%2$s</a></li>',
|
|
|
|
'/',
|
|
|
|
__( 'Home', 'pressbooks-aldine' )
|
|
|
|
) . $items;
|
|
|
|
}
|
|
|
|
if ( get_option( 'pb_network_contact_form' ) ) {
|
|
|
|
$items .= sprintf(
|
|
|
|
'<li><a href="%1$s">%2$s</a></li>',
|
|
|
|
'#contact',
|
|
|
|
__( 'Contact', 'pressbooks-aldine' )
|
|
|
|
);
|
|
|
|
}
|
|
|
|
if ( ! is_user_logged_in() ) {
|
|
|
|
$items .= sprintf(
|
|
|
|
'<li><a href="%1$s">%2$s</a></li>',
|
|
|
|
wp_login_url( get_permalink() ),
|
|
|
|
__( 'Sign in', 'pressbooks-aldine' )
|
|
|
|
);
|
|
|
|
if ( in_array( get_site_option( 'registration' ), [ 'user', 'all' ], true ) ) {
|
|
|
|
$items .= sprintf(
|
|
|
|
'<li><a href="%1$s">%2$s</a></li>',
|
|
|
|
network_home_url( '/wp-signup.php' ),
|
|
|
|
__( 'Sign up', 'pressbooks-aldine' )
|
|
|
|
);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
if ( is_super_admin() || is_user_member_of_blog() ) {
|
|
|
|
$items .= sprintf(
|
|
|
|
'<li><a href="%1$s">%2$s</a></li>',
|
|
|
|
admin_url(),
|
|
|
|
__( 'Admin', 'pressbooks-aldine' )
|
|
|
|
);
|
|
|
|
}
|
|
|
|
$items .= sprintf(
|
|
|
|
'<li><a href="%1$s">%2$s</a></li>',
|
|
|
|
wp_logout_url( get_permalink() ),
|
|
|
|
__( 'Sign out', 'pressbooks-aldine' )
|
|
|
|
);
|
|
|
|
}
|
|
|
|
/* @codingStandardsIgnoreStart $items .= sprintf(
|
|
|
|
'<li class="header__search js-search"><a class="icon icon-search js-toggle-search"></a><div class="header__search__form">%s</div></li>',
|
|
|
|
get_search_form( false )
|
|
|
|
); @codingStandardsIgnoreEnd */
|
|
|
|
}
|
|
|
|
|
|
|
|
return $items;
|
|
|
|
}
|