120 lines
5.4 KiB
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' ); |