post.php屏幕垂直列出管理区域中的帖子。每个项目的post_title是一个超链接,直接位于一些内联选项之上。标题链接和“编辑”内联选择都冗余地转到相同的目的地,即:
http[s]://{yoursite.tld}/wp-admin/post.php?post={postID}&action=edit
我想使用PHP过滤post_title网址。具体来说,我希望根据存储在post中的元数据为URL设置一个自定义目的地。例如,post_ID:123有后置元数据:
{'custom_URL' : 'http:somesite.com'}In post.php,如何将post_title超链接href目标URL更改为自定义目的地--最好是使用post_title?
我需要以某种方式拦截post.php中的主查询循环,因为我需要根据每个显示的条目的postID对它们进行元数据查询。一般情况下可能是1200件。我可以使用JS来获取post it,然后从浏览器中对服务器执行API调用(S),但我宁愿在PHP发出之前对其进行筛选。
发布于 2022-05-13 03:36:11
wp-admin/edit.php中post列表表中的post标题和内联“编辑”链接使用get_edit_post_link(),它应用了一个过滤器钩子(也称为get_edit_post_link ),因此如果(我正确地理解)您想要修改这些链接(URL),您可以使用该过滤器。例如。
// Note: The callback will run anywhere, not just at wp-admin/edit.php
add_filter( 'get_edit_post_link', 'my_filter_edit_post_link', 10, 2 );
function my_filter_edit_post_link( $link, $post_id ) {
$url = get_post_meta( $post_id, 'custom_URL', true );
// it's all up to you on what params to add to the custom URL
return $url ? add_query_arg( 'post', $post_id, $url ) : $link;
}https://wordpress.stackexchange.com/questions/405684
复制相似问题