如何在 wordpress 中创建自定义 realted post?
how to create a custom realted post in wordpress?
在我的 WordPress 网站中,我想向我的博客读者推荐一个特定的 post。
建议的位置在另一个 post 段落之间。
例如,我在短代码中输入了目的地的 ID post。
结果将是 post 的标题及其缩略图,以便用户可以单击它并查看 post。
我得到了这段代码,但它不起作用。它也没有 post 缩略图:
// Add Shortcode
function post_link_shortcode( $atts ) {
// Attributes
$atts = shortcode_atts(
array(
'id' => '',
),
$atts,
'link-to-post'
);
// Return only if has ID attribute
if ( isset( $atts['id'] ) ) {
return '<a href="' . get_permalink( $atts['id'] ) . '">' . get_the_title( $atts['id'] ) . '</a>';
}
}
add_shortcode( 'link-to-post', 'post_link_shortcode' );
如果您的短代码有效,您可以使用类似这样的方式获取 post 的 img。
// Add Shortcode
add_shortcode('link-to-post', 'post_link_shortcode');
function post_link_shortcode($atts)
{
// Attributes
$atts = shortcode_atts(array(
'id' => '',
), $atts);
// Return only if has ID attribute
if (isset($atts['id'])) {
$post = get_post($atts['id']);
ob_start(); ?>
<div class="featured-post">
<a href="<?= get_permalink($post); ?>">
<img src="<?= wp_get_attachment_image_src(get_post_thumbnail_id($post), 'single-post-thumbnail')[0]; ?>" alt="featured image">
</a>
<a href="<?= get_permalink($post); ?>"><?= $post->post_title ?></a>
</div>
<?php
return ob_get_clean();
} else {
return 'No post with that ID found';
}
}
你可以这样做,也可以用一个 link
包裹所有
<a href="URL"> <!-- CSS display:block will help you -->
img
title
</a>
对于特色图片,您可以使用 the_post_thumbnail_url();
// Add Shortcode
add_shortcode('link-to-post', 'post_link_shortcode');
function post_link_shortcode($atts)
{
// Attributes
$atts = shortcode_atts(array(
'id' => '',
), $atts);
// Return only if has ID attribute
if (isset($atts['id'])) {
$post = get_post($atts['id']);
ob_start(); ?>
<div class="featured-post">
<a href="<?php get_permalink($post); ?>">
<img src="the_post_thumbnail_url()" alt="featured image">
</a>
<a href="<?php get_permalink($post); ?>"><?php $post->post_title ?></a>
</div>
<?php
return ob_get_clean();
} else {
return 'No post with that ID found';
}
}
在我的 WordPress 网站中,我想向我的博客读者推荐一个特定的 post。 建议的位置在另一个 post 段落之间。 例如,我在短代码中输入了目的地的 ID post。 结果将是 post 的标题及其缩略图,以便用户可以单击它并查看 post。
我得到了这段代码,但它不起作用。它也没有 post 缩略图:
// Add Shortcode
function post_link_shortcode( $atts ) {
// Attributes
$atts = shortcode_atts(
array(
'id' => '',
),
$atts,
'link-to-post'
);
// Return only if has ID attribute
if ( isset( $atts['id'] ) ) {
return '<a href="' . get_permalink( $atts['id'] ) . '">' . get_the_title( $atts['id'] ) . '</a>';
}
}
add_shortcode( 'link-to-post', 'post_link_shortcode' );
如果您的短代码有效,您可以使用类似这样的方式获取 post 的 img。
// Add Shortcode
add_shortcode('link-to-post', 'post_link_shortcode');
function post_link_shortcode($atts)
{
// Attributes
$atts = shortcode_atts(array(
'id' => '',
), $atts);
// Return only if has ID attribute
if (isset($atts['id'])) {
$post = get_post($atts['id']);
ob_start(); ?>
<div class="featured-post">
<a href="<?= get_permalink($post); ?>">
<img src="<?= wp_get_attachment_image_src(get_post_thumbnail_id($post), 'single-post-thumbnail')[0]; ?>" alt="featured image">
</a>
<a href="<?= get_permalink($post); ?>"><?= $post->post_title ?></a>
</div>
<?php
return ob_get_clean();
} else {
return 'No post with that ID found';
}
}
你可以这样做,也可以用一个 link
包裹所有<a href="URL"> <!-- CSS display:block will help you -->
img
title
</a>
对于特色图片,您可以使用 the_post_thumbnail_url();
// Add Shortcode
add_shortcode('link-to-post', 'post_link_shortcode');
function post_link_shortcode($atts)
{
// Attributes
$atts = shortcode_atts(array(
'id' => '',
), $atts);
// Return only if has ID attribute
if (isset($atts['id'])) {
$post = get_post($atts['id']);
ob_start(); ?>
<div class="featured-post">
<a href="<?php get_permalink($post); ?>">
<img src="the_post_thumbnail_url()" alt="featured image">
</a>
<a href="<?php get_permalink($post); ?>"><?php $post->post_title ?></a>
</div>
<?php
return ob_get_clean();
} else {
return 'No post with that ID found';
}
}