Oh I think I cracked it!
the_field('state', 'user_'.$user->ID )
passes along the user ID properly for the correct user, and it prints the information properly.
I still have no idea why $other_user_id won’t pass the ID correctly, and unfortunately I don’t think I know enough about php to determine why either. But hopefully this solution will help someone else looking to do something similar.
This is a fresh install running TwentyTwenty-one theme. I have 2 other plugins running, but even with those disabled I can’t get it to function in this sense.
Basically I’m seeing 2 issues here. The first being that I can’t get any user ID to work when used in the_field('state', 'user_' . $other_user_id );
because when I echo $other_user_id, it does give me *a* user ID, though maybe not the one that I want. When used in the_field('state', 'user_' . $other_user_id );
there is no output. The second issue being I’m trying to produce the user ID not for the page/post author, but for each user in order in that particular role type. If I can get either of these resolved in some manner, it’s going to get me closer to a solution.
Any idea regarding the_field('state', 'user_' . $other_user_id );
? Is there an instance of a usage like this that works for you or has been known to work?
When using the code you provided, it shows information for the post author user.
I can return the post author (and current user) ID just fine, but when it’s supposed to be appended like the_field('state', 'user_' . $other_user_id );
it doesn’t seem to work. If I change ‘user_’ to any user ID in use (i.e. ‘user_3’), it returns the right information in that field.
Yes, inside the standard post loop. Currently, I am using it inside of a shortcode, although I have tried it inside of a template page too and can’t get that to work either.
Here’s what my shortcode looks like:
function print_members( $atts ) {
$args = array(
'role' => 'pmpro_role_2',
'orderby' => 'last_name',
'order' => 'ASC'
);
$users = get_users( $args );
$other_user_id = get_the_author_meta('ID');
echo '<div>';
foreach ( $users as $user ) {
echo '<div><h3>' . esc_html( $user->first_name ) . ' ' . esc_html( $user->last_name ) . '</h3>';
echo '<p>Email: <a href="mailto:' . esc_html( $user->user_email ) . '">' . esc_html( $user->user_email ) . '</a></p>';
echo '<p>Mailing Address: ';
echo the_field('address_line_1', 'user_'. $other_user_id );
echo '<br>';
echo the_field('address_line_2', 'user_' . $other_user_id );
echo '<br>';
echo the_field('city', 'user_'. $other_user_id );
echo ', ';
echo the_field('state', 'user_'. $other_user_id );
echo'<p></div>';
}
echo '</div>';
}
add_shortcode('member-list', 'print_members');
Same problem. I am using pro with unlimited licenses and it keeps giving me “update package not found”.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
We’re reaching out to our multilingual users to ask for help in translating ACF 6.1. Help make sure the latest features are available in your language here: https://t.co/TkEc2Exd6U
— Advanced Custom Fields (@wp_acf) May 22, 2023
© 2023 Advanced Custom Fields.
We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Cookie Policy. If you continue to use this site, you consent to our use of cookies.