WordPress.org

Make WordPress Core

Ticket #39960: 39960.diff

File 39960.diff, 4.0 KB (added by dshanske, 17 months ago)
  • src/wp-includes/class-wp-xmlrpc-server.php

     
    67286728                        return $this->pingback_error( 0, __( 'The source URL and the target URL cannot both point to the same resource.' ) );
    67296729                }
    67306730
    6731                 // Check if pings are on
    6732                 if ( ! pings_open( $post ) ) {
     6731                // Check if pings are on and pingbacks are supported by the current post type
     6732                if ( ! pings_open( $post ) || ( 'closed' === get_default_comment_status( get_post_type( $post ), 'pingback' ) ) ) {
    67336733                        return $this->pingback_error( 33, __( 'The specified target URL cannot be used as a target. It either doesn’t exist, or it is not a pingback-enabled resource.' ) );
    67346734                }
    67356735
  • src/wp-includes/comment.php

     
    275275function get_default_comment_status( $post_type = 'post', $comment_type = 'comment' ) {
    276276        switch ( $comment_type ) {
    277277                case 'pingback':
     278                        $supports = 'pingbacks';
     279                        $option   = 'ping';
     280                        break;
    278281                case 'trackback':
    279282                        $supports = 'trackbacks';
    280283                        $option   = 'ping';
  • src/wp-includes/post.php

     
    3333                        'rewrite'               => false,
    3434                        'query_var'             => false,
    3535                        'delete_with_user'      => true,
    36                         'supports'              => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'post-formats' ),
     36                        'supports'              => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'pingbacks', 'custom-fields', 'comments', 'revisions', 'post-formats' ),
    3737                        'show_in_rest'          => true,
    3838                        'rest_base'             => 'posts',
    3939                        'rest_controller_class' => 'WP_REST_Posts_Controller',
     
    12091209 *                                              Default false.
    12101210 *     @type array       $supports              Core feature(s) the post type supports. Serves as an alias for calling
    12111211 *                                              add_post_type_support() directly. Core features include 'title',
    1212  *                                              'editor', 'comments', 'revisions', 'trackbacks', 'author', 'excerpt',
     1212 *                                              'editor', 'comments', 'revisions', 'trackbacks', 'pingbacks', 'author', 'excerpt',
    12131213 *                                              'page-attributes', 'thumbnail', 'custom-fields', and 'post-formats'.
    12141214 *                                              Additionally, the 'revisions' feature dictates whether the post type
    12151215 *                                              will store revisions, and the 'comments' feature dictates whether the
     
    16491649 *
    16501650 * All core features are directly associated with a functional area of the edit
    16511651 * screen, such as the editor or a meta box. Features include: 'title', 'editor',
    1652  * 'comments', 'revisions', 'trackbacks', 'author', 'excerpt', 'page-attributes',
     1652 * 'comments', 'revisions', 'trackbacks', 'pingbacks', 'author', 'excerpt', 'page-attributes',
    16531653 * 'thumbnail', 'custom-fields', and 'post-formats'.
    16541654 *
    16551655 * Additionally, the 'revisions' feature dictates whether the post type will
  • src/wp-trackback.php

     
    111111
    112112        header( 'Content-Type: text/xml; charset=' . get_option( 'blog_charset' ) );
    113113
    114         if ( ! pings_open( $tb_id ) ) {
     114        if ( ! pings_open( $tb_id ) || ( 'closed' === get_default_comment_status( get_post_type( $tb_id ), 'trackbacks' ) )  ) {
    115115                trackback_response( 1, __( 'Sorry, trackbacks are closed for this item.' ) );
    116116        }
    117117