我已经寻找了一段时间,但无法在任何地方找到我的问题的答案。我正在为艺术委员会网站建立会员目录,并使用 Wordpress 插件 Memberpress 来管理年度订阅费。我正在尝试将用户信息打印到一个简单的目录页面 - 目前只是回显 php 中的用户值,如下所示:
<?php
$user_query = new WP_User_Query( array( 'role' => 'Subscriber' ) );
// User Loop
if ( ! empty( $user_query->results ) ) {
foreach ( $user_query->results as $user ) {
echo '<p>' . $user->display_name . '</p>';
echo '<p>' . $user->user_email . '</p>';
echo '<p>' . $user->user_url . '</p>';
echo '<p>' . $user->description . '</p>';
echo '<p>' . $user->subscription . '</p>';
echo '<p>' . $user->memberpress_authorized . '</p>';
$type = $user->mepr_artist_type;
for($i=0; $i<=sizeof($type); $i+=1) …Run Code Online (Sandbox Code Playgroud) 之前已经问过这个问题,但我已经尝试了很多东西来使它工作,我不知道我错过了什么.我有一个Wordpress站点的成员目录,它使用Ajax来调用和显示成员配置文件.它还允许您按名称按字母顺序对它们进行排序.登录时两者都可以正常工作,但在注销时返回"0".我已经使用具有不同权限的多个帐户对其进行了测试,只要有一个帐户登录任何帐户,它就可以正常工作.
我有两个
add_action('wp_ajax_nopriv_load-filter', 'load_members');
Run Code Online (Sandbox Code Playgroud)
和
add_action('wp_ajax_load-members', 'load_members');
Run Code Online (Sandbox Code Playgroud)
添加,我读过它应该使它适用于登录和未登录的用户.我假设没有登录的用户无法访问Ajax工作所必需的东西,可能是我一直在阅读的ajax-admin.php文件,但我尝试过的任何修复都没有.
我尝试在chrome(F12,检查网络错误等)中进行调试,但没有找到有用的信息.我还将console.log()行添加到我的代码的各个部分以确定它是否被调用,并且它们都按预期调用,登录或注销.
无论如何,这是我在functions.php中的代码(不包括add_action部分):
function load_members()
{
$letter = $_POST[ 'letter' ];
if($letter == "all") {
$args = array(
'role' => 'Subscriber', );
$user_query = new WP_User_Query($args);
ob_start();
global $user;
if (!empty($user_query->results)) {
foreach ($user_query->results as $user) {
get_template_part('template', 'directory');
}
} else {
echo '<div class="center" >No users found.</div>';}
$response = ob_get_contents();
ob_end_clean();
echo $response;
die(1);
Run Code Online (Sandbox Code Playgroud)
这是我的目录页面中的功能:
function members_get(catID) {
jQuery("a.ajax").removeClass("current");
jQuery("#category-post-content").fadeOut();
$('.' + catID).addClass("current"); //adds class current to the menu item being …Run Code Online (Sandbox Code Playgroud)