Helix_Website/wp-content/plugins/wpforo/wpf-includes/functions-integration.php

120 lines
5.4 KiB
PHP

<?php
// Exit if accessed directly
if( !defined( 'ABSPATH' ) ) exit;
function wpforo_has_shop_plugin( $userid = 0 ){
$profile_url = false;
if (is_user_logged_in()){
// WooCommerce | Account Page URL
if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
$profile_url = get_permalink(get_option('woocommerce_myaccount_page_id'));
}
}
return $profile_url;
}
function wpforo_has_profile_plugin( $userid = 0 ){
$profile_url = false;
if($userid){
// Ultimate Member | Profile Page URL
if(function_exists('UM')){
um_fetch_user($userid); $profile_url = um_user_profile_url(); um_reset_user();
}
// BuddyPress | Profile Page URL
elseif(class_exists('BuddyPress')) {
$profile_url = bp_core_get_user_domain($userid);
}
// Users Ultra | Profile Page URL
elseif(class_exists('XooUserUltra')) {
global $xoouserultra; $profile_url = $xoouserultra->userpanel->get_user_profile_permalink($userid);
}
// User Pro | Profile Page URL
if (class_exists('userpro_api')) {
global $userpro; $profile_url = $userpro->permalink($userid);
}
}
return $profile_url;
}
function wpforo_seo_clear(){
if(!wpforo_feature('seo-meta')) return;
if (is_wpforo_page()) {
remove_action('wp_head','jetpack_og_tags'); // JetPack}
if (defined('WPSEO_VERSION')) { // Yoast SEO
remove_action('wp_head','wpseo_head', 20);
remove_action('wp_head','wpseo_opengraph', 20);
add_filter( 'wpseo_canonical', '__return_false' );
add_filter( 'wpseo_title', '__return_false' );
add_filter( 'wpseo_metadesc', '__return_false' );
add_filter( 'wpseo_author_link', '__return_false' );
add_filter( 'wpseo_metakey', '__return_false' );
add_filter( 'wpseo_locale', '__return_false' );
add_filter( 'wpseo_opengraph_title', '__return_false' );
add_filter( 'wpseo_opengraph_url', '__return_false' );
add_filter( 'wpseo_opengraph_desc', '__return_false' );
add_filter( 'wpseo_opengraph_author_facebook', '__return_false' );
add_filter( 'wpseo_opengraph_type', '__return_false' );
add_filter( 'wpseo_opengraph_image', '__return_false' );
add_filter( 'wpseo_opengraph_image_size', '__return_false' );
add_filter( 'wpseo_opengraph_site_name', '__return_false' );
add_filter( 'wpseo_twitter_card_type', '__return_false' );
add_filter( 'wpseo_twitter_description', '__return_false' );
add_filter( 'wpseo_twitter_title', '__return_false' );
add_filter( 'wpseo_twitter_image', '__return_false' );
add_filter( 'wpseo_twitter_image_size', '__return_false' );
add_filter( 'wp_seo_get_bc_ancestors', '__return_false' );
add_filter( 'wpseo_whitelist_permalink_vars', '__return_false' );
add_filter( 'wpseo_prev_rel_link', '__return_false' );
add_filter( 'wpseo_next_rel_link', '__return_false' );
add_filter( 'wpseo_xml_sitemap_img_src', '__return_false' );
}
if (defined('AIOSEOP_VERSION')) { // All-In-One SEO
global $aiosp;
remove_action('wp_head',array($aiosp,'wp_head'));
add_filter( 'aioseop_title', '__return_false' );
add_filter( 'aioseop_canonical_url', '__return_false' );
}
if ( defined('RANK_MATH_FILE') ) { // Rank Math SEO
remove_all_actions( 'rank_math/head' );
// add_filter( 'rank_math/frontend/remove_credit_notice', '__return_true' );
add_action( 'wp_head', '_wp_render_title_tag', 2 ); //need to test
}
remove_action('wp_head','rel_canonical');
remove_action('wp_head','index_rel_link');
remove_action('wp_head','start_post_rel_link');
remove_action('wp_head','adjacent_posts_rel_link_wp_head');
remove_all_filters( 'pre_get_document_title', 15 );
}
}
add_action( 'wpforo_actions_end', 'wpforo_seo_clear' );
////////////////////////////////////////////////////////////////////////////////////////
// BuddyPress Integration //////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
function wpforo_bp_profile() {
if ( ! function_exists( 'buddypress' ) ) {
function buddypress() { return isset( $GLOBALS['bp'] ) ? $GLOBALS['bp'] : false; }
}
if ( ! buddypress() || buddypress()->maintenance_mode ) return;
require( WPFORO_DIR . '/wpf-includes/integration/buddypress.php' );
if(wpforo_feature('bp_forum_tab')){
WPF()->add->buddypress = new WPF_Forums_Component();
}
if( wpforo_feature('profile') === 3 ){
add_filter( 'wpforo_member_profile_url', 'wpforo_bp_profile_url', 10, 3 );
}
}
add_action( 'bp_include', 'wpforo_bp_profile', 10 );
////////////////////////////////////////////////////////////////////////////////////////
// General Data Protection Regulation (GDPR) ///////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
include( WPFORO_DIR . '/wpf-includes/integration/legal.php' );
////////////////////////////////////////////////////////////////////////////////////////
// Ultimate Member Integration /////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
include( WPFORO_DIR . '/wpf-includes/integration/ultimate-member.php' );