在短代码中显示漂亮的链接
Display Pretty links In Shortcode
我正在制作一个短代码以在首页上显示所有漂亮的 link。到目前为止,我已经成功地显示了除缺少 link 之外的所有内容
// Display Pretty-Links
function custom_budurl() {
$links = new WP_Query(array(
'post_type' => 'pretty-link',
'orderby' => 'meta_value',
'order' => 'ASC',
));
if ($links -> have_posts()) :
// Start The Loop
while ($links -> have_posts()) : $links -> the_post();
echo '<li><a href="' . . '">' . get_the_title() . '</a></li>';
endwhile;
endif;
}
add_shortcode( 'budurl', 'custom_budurl' );
但我无法弄清楚在 href="" 选项中写什么来打印如图所示创建的 link。
如果有人能提供帮助就太好了。谢谢
Pretty links 使用自定义 table。下面我使用自定义 select 来获取漂亮 link 的 slug,然后使用 home_url()
构建 url。使用 Pretty Links 3.1.0 运行 PHP 7.4.
在 WP 5.3.2 上测试
// Display Pretty-Links
function custom_budurl()
{
$links = new WP_Query(array(
'post_type' => 'pretty-link',
'orderby' => 'meta_value',
'order' => 'ASC',
));
if ($links->have_posts()) :
// Start The Loop
while ($links->have_posts()) : $links->the_post();
global $wpdb;
// get current post id
$pid = get_the_ID();
// custom select to get pretty link slug from custom table
$sql = $wpdb->prepare("SELECT slug from {$wpdb->prefix}prli_links where link_cpt_id = %d", $pid);
// run the query
$results = $wpdb->get_row($sql);
// build url
$url = home_url($results->slug);
// print html to browser
echo '<li><a href="' . $url . '">' . get_the_title() . '</a></li>';
endwhile;
wp_reset_postdata();
endif;
}
add_shortcode('budurl', 'custom_budurl');
我正在制作一个短代码以在首页上显示所有漂亮的 link。到目前为止,我已经成功地显示了除缺少 link 之外的所有内容
// Display Pretty-Links
function custom_budurl() {
$links = new WP_Query(array(
'post_type' => 'pretty-link',
'orderby' => 'meta_value',
'order' => 'ASC',
));
if ($links -> have_posts()) :
// Start The Loop
while ($links -> have_posts()) : $links -> the_post();
echo '<li><a href="' . . '">' . get_the_title() . '</a></li>';
endwhile;
endif;
}
add_shortcode( 'budurl', 'custom_budurl' );
但我无法弄清楚在 href="" 选项中写什么来打印如图所示创建的 link。
如果有人能提供帮助就太好了。谢谢
Pretty links 使用自定义 table。下面我使用自定义 select 来获取漂亮 link 的 slug,然后使用 home_url()
构建 url。使用 Pretty Links 3.1.0 运行 PHP 7.4.
// Display Pretty-Links
function custom_budurl()
{
$links = new WP_Query(array(
'post_type' => 'pretty-link',
'orderby' => 'meta_value',
'order' => 'ASC',
));
if ($links->have_posts()) :
// Start The Loop
while ($links->have_posts()) : $links->the_post();
global $wpdb;
// get current post id
$pid = get_the_ID();
// custom select to get pretty link slug from custom table
$sql = $wpdb->prepare("SELECT slug from {$wpdb->prefix}prli_links where link_cpt_id = %d", $pid);
// run the query
$results = $wpdb->get_row($sql);
// build url
$url = home_url($results->slug);
// print html to browser
echo '<li><a href="' . $url . '">' . get_the_title() . '</a></li>';
endwhile;
wp_reset_postdata();
endif;
}
add_shortcode('budurl', 'custom_budurl');