您可以尝试从帖子中提取第一个H1标记的内容。
function get_first_h1(){
//Get filtered content of post
ob_start();
the_content();
$content = ob_get_clean();
//Define matching pattern: content of h1 tags
$h1_pattern = "~<h1>(.*)</h1>~";
//Variable to hold results
$header_matches = array();
//Search content for pattern
preg_match( $h1_pattern, $content, $header_matches );
//First match will be 2nd item in array (first is entire content, if any matches)
if ( count( $header_matches ) > 1 ){
return $header_matches[1];
}
//Fallback: return post title
return get_the_title();
}
备注:
该函数应保存在函数中。php、自定义插件或包含在该函数的其中一个结果中的文件可能会被回显或用作另一个函数的一部分,即回显get\\u first\\u h1()该函数必须在WordPress循环中使用Personally, 我更喜欢上面雅各布·皮蒂的建议。创建自定义字段以存储所需的额外标题字段。我提供此解决方案,以防您必须这样做,即您有1000篇帖子,不想设置标题字段。