如何在此代码中包含固定链接?

时间:2016-11-06 作者:glvr

我使用下面的代码显示网站页面和分配的模板。

如何为每个页面包含链接的永久链接?

<?php
global $wpdb;

$sql = "SELECT post_title, meta_value
FROM $wpdb->posts a
JOIN $wpdb->postmeta b ON a.ID = b.post_id
WHERE a.post_type = \'page\'
AND a.post_status = \'publish\'
AND b.meta_key = \'_wp_page_template\'
";

$results = $wpdb->get_results( $sql );
if( !empty( $results ) ) {
echo \'<ul>\';
foreach ( $results as $result ) {
echo \'<li>\'. $result->post_title . \': \' . $result->meta_value. \'</li>\';}
echo \'</ul>\';
}
?>

1 个回复
最合适的回答,由SO网友:Benoti 整理而成

您最终可以在$sql中添加ID,这样在foreach中使用get\\u permalink函数就更容易了:

<?php
global $wpdb;

$sql = "SELECT ID, post_title, meta_value
FROM $wpdb->posts a
JOIN $wpdb->postmeta b ON a.ID = b.post_id
WHERE a.post_type = \'page\'
AND a.post_status = \'publish\'
AND b.meta_key = \'_wp_page_template\'
ORDER BY a.post_title ASC
";

$results = $wpdb->get_results( $sql );
if( !empty( $results ) ) {
echo \'<ul>\';
foreach ( $results as $result ) {
        echo \'<li><a href="\'.get_permalink($result->ID).\'">\'. $result->post_title . \': \' . $result->meta_value. \'</a></li>\';}
echo \'</ul>\';
}
?>

相关推荐

Force pretty permalinks?

我正在构建一个插件,该插件将用于单个站点,并依赖于add_rewrite_rule 要工作,需要打开永久链接。打开它们并不困难,因为它只是一个站点,但我担心其中一个管理员可能会在不知道自己在做什么的情况下关闭它,并破坏该站点。如何以编程方式强制保持漂亮的永久链接?