我希望能够将此作为一个快捷码输出,以便在帖子中的任何地方添加
因此,既然您说过,“我更喜欢非插件解决方案”,那么您可以使用它(您可以将其添加到主题中functions.php
文件)创建短代码:
add_shortcode( \'dansk_link\', \'dansk_link_shortcode\' );
function dansk_link_shortcode() {
ob_start();
$url = get_post_meta( get_the_ID(), \'dansk_url\', true );
if ( $url ) : ?>
<a href="<?php echo esc_url( $url ); ?>">Dansk</a>
<?php
endif; // end $url
return ob_get_clean();
}
在帖子内容中,添加
[dansk_link]
任何你喜欢的地方。
上面的PHP代码仍然被认为是一个插件,但它基本上是“您自己的”插件
PS:对于函数参考,您可以检查add_shortcode()
和get_post_meta()
.
更新我将快捷码名称更改为dansk_link
因为这似乎比dansk_url
短代码的用途(即输出链接)。
在我最初的回答中,我使用了输出缓冲(即ob_start()
和ob_get_clean()
) 因此,您(问题作者)更容易编辑HTML输出。
在说出上述第2点之后,您还可以使用:
add_shortcode( \'dansk_link\', \'dansk_link_shortcode\' );
function dansk_link_shortcode() {
if ( $url = get_post_meta( get_the_ID(), \'dansk_url\', true ) ) {
return \'<a href="\' . esc_url( $url ) . \'">Dansk</a>\';
}
return \'\';
}