WPML获取URL而不输出 时间:2013-09-04 作者:fkoessler 我正在从qTranslate迁移到WPML以处理我的语言。使用qTranslate,我有一个非常简单的方法来获取页面或帖子的url,知道它是slug:$url = get_language_url(home_url($slug));现在使用WPML,我找不到一种方法来做到这一点。。。这是icl_link_to_element 函数,但它直接输出a标记中的链接。。此外,你需要知道帖子ID。知道这是slug,我能用正确的语言找到帖子的链接吗? 2 个回复 最合适的回答,由SO网友:s1lv3r 整理而成 实际上,Wordpress缺少一个通过slug/post name获取帖子的真正功能。但你可以使用get_page_by_path() 这样您就不必使用自定义查询:if(function_exists(\'icl_object_id\')) { $post = get_page_by_path(\'your-slug\'); $id = icl_object_id($post->ID,\'post\',true); $link = get_permalink($id); } 这里唯一的区别是您必须使用完整路径,即(\'parent-page/sub-page\') 如果你有一个层次结构。对于帖子和非层次化页面,您可以将slug用作param。 SO网友:Vinod Dalvi 您可以使用以下代码通过slug获取到帖子的链接。<?php global $wpdb; $id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_name = \'name-of-slug\'"); if(function_exists(\'icl_object_id\')){ get_permalink(icl_object_id($id,\'post\',true)); } ?> 结束 文章导航