Skip to:
Content

BuddyPress.org

Ticket #8679: 8679.2.patch

File 8679.2.patch, 7.1 KB (added by imath, 3 years ago)
  • src/bp-core/bp-core-actions.php

    diff --git src/bp-core/bp-core-actions.php src/bp-core/bp-core-actions.php
    index caf628b97..cce575de3 100644
    add_action( 'bp_after_setup_theme', 'bp_check_theme_template_pack_dependency', 
    119119add_action( 'bp_after_setup_theme', 'bp_load_theme_functions',                    1  );
    120120add_action( 'bp_after_setup_theme', 'bp_register_theme_compat_default_features',  10 );
    121121
     122// Adds a new hook to be sure to enqueue scripts when `is_buddypress()` is true.
     123add_action( 'bp_enqueue_scripts', 'bp_enqueue_community_scripts' );
     124
    122125// Load the admin.
    123126if ( is_admin() ) {
    124127        add_action( 'bp_loaded', 'bp_admin' );
  • src/bp-core/bp-core-cssjs.php

    diff --git src/bp-core/bp-core-cssjs.php src/bp-core/bp-core-cssjs.php
    index 56b6c9f09..eeeadb8d4 100644
    function bp_core_confirmation_js() { 
    185185        ) );
    186186
    187187}
    188 add_action( 'bp_enqueue_scripts',       'bp_core_confirmation_js' );
     188add_action( 'bp_enqueue_community_scripts', 'bp_core_confirmation_js', 1 );
    189189add_action( 'bp_admin_enqueue_scripts', 'bp_core_confirmation_js' );
    190190
    191191/**
    function bp_core_avatar_scripts() { 
    206206        add_action( 'bp_after_group_admin_content',           'bp_avatar_template_check' );
    207207        add_action( 'bp_after_group_avatar_creation_step',    'bp_avatar_template_check' );
    208208}
    209 add_action( 'bp_enqueue_scripts', 'bp_core_avatar_scripts' );
     209add_action( 'bp_enqueue_community_scripts', 'bp_core_avatar_scripts' );
    210210
    211211/**
    212212 * Enqueues the css and js required by the Cover Image UI.
    function bp_core_cover_image_scripts() { 
    221221        // Enqueue the Attachments scripts for the Cover Image UI.
    222222        bp_attachments_enqueue_scripts( 'BP_Attachment_Cover_Image' );
    223223}
    224 add_action( 'bp_enqueue_scripts', 'bp_core_cover_image_scripts' );
     224add_action( 'bp_enqueue_community_scripts', 'bp_core_cover_image_scripts' );
    225225
    226226/**
    227227 * Enqueues jCrop library and hooks BP's custom cropper JS.
    function bp_add_cover_image_inline_css( $return = false ) { 
    522522                }
    523523        }
    524524}
    525 add_action( 'bp_enqueue_scripts', 'bp_add_cover_image_inline_css', 11 );
     525add_action( 'bp_enqueue_community_scripts', 'bp_add_cover_image_inline_css', 11 );
    526526
    527527/**
    528528 * Enqueues livestamp.js on BuddyPress pages.
    add_action( 'bp_enqueue_scripts', 'bp_add_cover_image_inline_css', 11 ); 
    530530 * @since 2.7.0
    531531 */
    532532function bp_core_add_livestamp() {
    533         if ( ! is_buddypress() ) {
    534                 return;
    535         }
    536 
    537533        bp_core_enqueue_livestamp();
    538534}
    539 add_action( 'bp_enqueue_scripts', 'bp_core_add_livestamp' );
     535add_action( 'bp_enqueue_community_scripts', 'bp_core_add_livestamp' );
    540536
    541537/**
    542538 * Enqueue and localize livestamp.js script.
  • src/bp-core/bp-core-dependency.php

    diff --git src/bp-core/bp-core-dependency.php src/bp-core/bp-core-dependency.php
    index 91d2566b3..92eee4030 100644
    function bp_enqueue_scripts() { 
    499499}
    500500
    501501/**
    502  * Fires the 'bp_enqueue_embed_scripts' action in the <head> for BP oEmbeds.
     502 * Fires an action hook to enqueue scripts and styles for specific BuddyPress contexts.
    503503 *
    504  * @since 2.6.0
     504 * @since 11.0.0
     505 *
     506 * @param string $context The specific BuddyPress context. Supported values are `embed` and `community`.
     507 *                        Default: `embed`.
    505508 */
    506 function bp_enqueue_embed_scripts() {
    507         if ( ! is_buddypress() ) {
     509function bp_enqueue_context_scripts( $context = 'embed' ) {
     510        $bp_pages_only_assets = false;
     511
     512        /**
     513         * Filter here & return `true` to restrict BP Assets loading to BP Pages.
     514         *
     515         * @since 11.0.0
     516         *
     517         * @param bool $value False to carry on loading BP Assets "everywhere". True otherwise.
     518         */
     519        $bp_pages_only = apply_filters( 'bp_enqueue_assets_in_bp_pages_only', false );
     520
     521        if ( 'embed' === $context || $bp_pages_only ) {
     522                $bp_pages_only_assets = true;
     523        }
     524
     525        if ( $bp_pages_only_assets && ! is_buddypress() ) {
    508526                return;
    509527        }
    510528
    511529        /**
    512          * Enqueue CSS and JS files for BuddyPress embeds.
     530         * Enqueue CSS and JS files for a specific BuddyPress context.
    513531         *
    514          * @since 2.6.0
     532         * @since 11.0.0
    515533         */
    516         do_action( 'bp_enqueue_embed_scripts' );
     534        do_action( "bp_enqueue_{$context}_scripts" );
     535}
     536
     537/**
     538 * Fires the 'bp_enqueue_embed_scripts' action in the <head> for BP oEmbeds.
     539 *
     540 * @since 2.6.0
     541 */
     542function bp_enqueue_embed_scripts() {
     543        return bp_enqueue_context_scripts( 'embed' );
     544}
     545
     546/**
     547 * Fires the  `bp_enqueue_community_scripts` action for Template packs scripts and styles.
     548 *
     549 * @since 11.0.0
     550 */
     551function bp_enqueue_community_scripts() {
     552        return bp_enqueue_context_scripts( 'community' );
    517553}
    518554
    519555/**
  • src/bp-templates/bp-legacy/buddypress-functions.php

    diff --git src/bp-templates/bp-legacy/buddypress-functions.php src/bp-templates/bp-legacy/buddypress-functions.php
    index 3ab73f097..d3ebe988a 100644
    class BP_Legacy extends BP_Theme_Compat { 
    8080
    8181                /** Scripts ***********************************************************/
    8282
    83                 add_action( 'bp_enqueue_scripts', array( $this, 'enqueue_styles'   ) ); // Enqueue theme CSS
    84                 add_action( 'bp_enqueue_scripts', array( $this, 'enqueue_scripts'  ) ); // Enqueue theme JS
    85                 add_filter( 'bp_enqueue_scripts', array( $this, 'localize_scripts' ) ); // Enqueue theme script localization
     83                add_action( 'bp_enqueue_community_scripts', array( $this, 'enqueue_styles'   ) ); // Enqueue theme CSS
     84                add_action( 'bp_enqueue_community_scripts', array( $this, 'enqueue_scripts'  ) ); // Enqueue theme JS
     85                add_action( 'bp_enqueue_community_scripts', array( $this, 'localize_scripts' ) ); // Enqueue theme script localization
    8686
    8787                /** Body no-js Class **************************************************/
    8888
  • src/bp-templates/bp-nouveau/buddypress-functions.php

    diff --git src/bp-templates/bp-nouveau/buddypress-functions.php src/bp-templates/bp-nouveau/buddypress-functions.php
    index fac582cab..685e2b93f 100644
    class BP_Nouveau extends BP_Theme_Compat { 
    178178
    179179                // Scripts & Styles.
    180180                $registration_params = array(
    181                         'hook'     => 'bp_enqueue_scripts',
     181                        'hook'     => 'bp_enqueue_community_scripts',
    182182                        'priority' => 2,
    183183                );
    184184
    class BP_Nouveau extends BP_Theme_Compat { 
    195195                add_action( $registration_params['hook'], array( $this, 'register_scripts' ), $registration_params['priority'] );
    196196
    197197                // Enqueue theme CSS.
    198                 add_action( 'bp_enqueue_scripts', array( $this, 'enqueue_styles' ) );
     198                add_action( 'bp_enqueue_community_scripts', array( $this, 'enqueue_styles' ) );
    199199
    200200                // Enqueue theme JS.
    201                 add_action( 'bp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
     201                add_action( 'bp_enqueue_community_scripts', array( $this, 'enqueue_scripts' ) );
    202202
    203203                // Enqueue theme script localization.
    204                 add_filter( 'bp_enqueue_scripts', array( $this, 'localize_scripts' ) );
    205                 remove_action( 'bp_enqueue_scripts', 'bp_core_confirmation_js' );
     204                add_action( 'bp_enqueue_community_scripts', array( $this, 'localize_scripts' ) );
     205                remove_action( 'bp_enqueue_community_scripts', 'bp_core_confirmation_js', 1 );
    206206
    207207                // Body no-js class.
    208208                add_filter( 'body_class', array( $this, 'add_nojs_body_class' ), 20, 1 );