Я попытался создать шорткод для страницы сетки участников buddypress, чтобы добавить его в меню buddypress (у меня есть только как отдельная страница). Все нормально, но по какой-то странной причине ссылки на страницы не работают. Если я открываю ссылку правой кнопкой мыши на другой странице, она работает нормально, но если я нажимаю левую кнопку мыши, ничего не происходит. Я не знаю причину.
Это мой код в функции. php добавлено с помощью PHP Плагин Inserter для WordPress:
function webim_members_grid($atts, $content = null) {
$sliderrandomid = rand();
extract( shortcode_atts( array(
"title" => '',
"type" => 'active',
"count" => '' ,
"col" => 6 // Maximum 12
), $atts ));
ob_start();
do_action( 'bp_before_directory_members_page' ); ?>
<div id="buddypress">
<?php
/**
* Fires before the display of the members.
*
* @since 1.1.0
*/
do_action( 'bp_before_directory_members' ); ?>
<?php
/**
* Fires before the display of the members content.
*
* @since 1.1.0
*/
do_action( 'bp_before_directory_members_content' ); ?>
<?php /* Backward compatibility for inline search form. Use template part instead. */ ?>
<?php if (version_compare( BP_VERSION, '2.7', '<' ) || has_filter( 'bp_directory_members_search_form' ) ) : ?>
<div id="members-dir-search" class="dir-search" role="search">
<?php bp_directory_members_search_form(); ?>
</div><!-- #members-dir-search -->
<?php else: ?>
<?php bp_get_template_part( 'common/search/dir-search-form' ); ?>
<?php endif; ?>
<?php
/**
* Fires before the display of the members list tabs.
*
* @since 1.8.0
*/
do_action( 'bp_before_directory_members_tabs' ); ?>
<form action="" method="post" id="members-directory-form" class="dir-form">
<div id="subnav" class="item-list-tabs" aria-label="<?php esc_attr_e( 'Members directory main navigation', 'buddypress' ); ?>" role="navigation">
<ul>
<?php
$member_type = bp_get_current_member_type();
if( $member_type ){
$member_type = bp_get_member_type_object( $member_type );
?>
<li class="selected" id="members-all"><a href="<?php bp_members_directory_permalink(); ?>"><?php printf( esc_html__( 'All %s %s', 'kleo' ), $member_type->labels['name'] , bp_core_get_total_member_count() ); ?></a></li>
<?php } else { ?>
<li class="selected" id="members-all"><a href="<?php bp_members_directory_permalink(); ?>"><?php printf( esc_html__( 'All Members %s', 'buddypress' ), '<span>' . bp_core_get_total_member_count() . '</span>' ); ?></a></li>
<?php } ?>
<?php if ( is_user_logged_in() && bp_is_active( 'friends' ) && bp_get_total_friend_count( bp_loggedin_user_id() ) ) : ?>
<li id="members-personal"><a href="<?php echo esc_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/my-friends/' ); ?>"><?php printf( esc_html__( 'My Friends %s', 'buddypress' ), '<span>' . bp_get_total_friend_count( bp_loggedin_user_id() ) . '</span>' ); ?></a></li>
<?php endif; ?>
<?php
/**
* Fires inside the members directory member types.
*
* @since 1.2.0
*/
do_action( 'bp_members_directory_member_types' ); ?>
<?php
/**
* Fires inside the members directory member sub-types.
*
* @since 1.5.0
*/
do_action( 'bp_members_directory_member_sub_types' ); ?>
<li id="members-order-select" class="last filter">
<label for="members-order-by"><?php _e( 'Order By:', 'buddypress' ); ?></label>
<select id="members-order-by" disabled>
<?php if ( bp_is_active( 'xprofile' ) ) : ?>
<option value="alphabetical"><?php _e( 'Alphabetical', 'buddypress' ); ?></option>
<?php endif; ?>
<!--option value="active"><?php _e( 'Last Active', 'buddypress' ); ?></option>
<option value="newest"><?php _e( 'Newest Registered', 'buddypress' ); ?></option-->
<?php
/**
* Fires inside the members directory member order options.
*
* @since 1.2.0
*/
do_action( 'bp_members_directory_order_options' ); ?>
</select>
</li>
</ul>
</div><!-- .item-list-tabs -->
<h2 class="bp-screen-reader-text"><?php
/* translators: accessibility text */
_e( 'Members directory', 'buddypress' );
?></h2>
<div id="members-dir-list" class="members dir-list">
<?php bp_get_template_part( 'members/members-loop' ); ?>
</div><!-- #members-dir-list -->
<?php
/**
* Fires and displays the members content.
*
* @since 1.1.0
*/
do_action( 'bp_directory_members_content' ); ?>
<?php wp_nonce_field( 'directory_members', '_wpnonce-member-filter' ); ?>
<?php
/**
* Fires after the display of the members content.
*
* @since 1.1.0
*/
do_action( 'bp_after_directory_members_content' ); ?>
</form><!-- #members-directory-form -->
<?php
/**
* Fires after the display of the members.
*
* @since 1.1.0
*/
do_action( 'bp_after_directory_members' ); ?>
</div><!-- #buddypress -->
<?php
/**
* Fires at the bottom of the members directory template file.
*
* @since 1.5.0
*/
do_action( 'bp_after_directory_members_page' );
$content = ob_get_contents();
ob_end_clean();
return $content;
}
add_shortcode("webim_members_grid", "webim_members_grid");
Любое решение или шаг, которому нужно следовать?
Спасибо.