您应该能够使用get_current_user_id()
. 请注意,如果用户未登录,它将返回“0”。
<a href="https://example.com/?user_id=<?php echo get_current_user_id(); ?>">Link</a>
更新2:厌倦了,制作了一个插件:
https://github.com/AndyMardell/append-user-id/releases/tag/v1.0.0-alpha下载zip并安装:)提交给WordPress,但仍在审查中。
安装和使用:https://github.com/AndyMardell/append-user-id#installation
更新:如果没有PHP,您将无法做到这一点。但请听我说完。。。
1) 将以下PHP添加到主题的functions.php
文件:
function prefix_get_current_user_id( $atts, $content, $tag ) {
$atts = array_change_key_case( (array) $atts, CASE_LOWER );
$prefix_atts = shortcode_atts(
array( \'url\' => \'\' ),
$atts,
$tag
);
if ( is_user_logged_in() ) {
$a_open = sprintf(
\'<a href="%s?user_id=%s">\',
esc_url( $prefix_atts[\'url\'] ),
get_current_user_id()
);
return $a_open . esc_html( $content ) . \'</a>\';
}
$a_open = sprintf(
\'<a href="%s">\',
esc_url( $prefix_atts[\'url\'] )
);
return $a_open . esc_html( $content ) . \'</a>\';
}
function prefix_add_shortcodes() {
add_shortcode( \'link_with_id\', \'prefix_get_current_user_id\' );
}
add_action( \'init\', \'prefix_add_shortcodes\' );
2)编辑您的帖子/页面内容并添加以下短代码:
[link_with_id url="https://domain.com/link"]A link to a page[/link_with_id]
这将输出以下html:
<a href="https://domain.com/link?user_id=1">A link to a page</a>
或者,如果用户未登录,它将输出:
<a href="https://domain.com/link">A link to a page</a>