Rationale: 1. The principle of pingbacks is based on articles. Pingbacks are a special kind of comments and the article being 'pinged-back' has to be identifiable (which they're not on archive pages and the like). 2. WP only registers a ping if it can identify the article which is supposed to have been 'pung'. See: https://developer.wordpress.org/reference/classes/wp_xmlrpc_server/pingback_ping/ 3. Pingbacks, like comments, can be disabled on a per article basis. Therefore, having the pingback url auto-discovery header in place, only makes sense on singular pages where pings are open.
39 lines
953 B
PHP
39 lines
953 B
PHP
<?php
|
|
/**
|
|
* Custom functions that act independently of the theme templates.
|
|
*
|
|
* Eventually, some of the functionality here could be replaced by core features.
|
|
*
|
|
* @package _s
|
|
*/
|
|
|
|
/**
|
|
* Adds custom classes to the array of body classes.
|
|
*
|
|
* @param array $classes Classes for the body element.
|
|
* @return array
|
|
*/
|
|
function _s_body_classes( $classes ) {
|
|
// Adds a class of group-blog to blogs with more than 1 published author.
|
|
if ( is_multi_author() ) {
|
|
$classes[] = 'group-blog';
|
|
}
|
|
|
|
// Adds a class of hfeed to non-singular pages.
|
|
if ( ! is_singular() ) {
|
|
$classes[] = 'hfeed';
|
|
}
|
|
|
|
return $classes;
|
|
}
|
|
add_filter( 'body_class', '_s_body_classes' );
|
|
|
|
/**
|
|
* Add a pingback url auto-discovery header for singularly identifiable articles.
|
|
*/
|
|
function _s_pingback_header() {
|
|
if ( is_singular() && pings_open() ) {
|
|
echo '<link rel="pingback" href="', bloginfo( 'pingback_url' ), '">';
|
|
}
|
|
}
|
|
add_action( 'wp_head', '_s_pingback_header' );
|