试图在外部循环中摘录,但结果却并非如初想的那么简单。摘录应该在更多标签之前回显文本。意思是我没有设置摘录应包含的特定最大字母数量。这是因为我不希望句子停在他们中间。
我已将帖子ID设置为以下内容:
du
然后,我尝试添加不同的功能。这些都可以在StackOverflow和Google上找到。但由于某种原因,我无法让他们工作。我怀疑它们中的一些已经老了,而WordPress从那时起就发生了变化。
首先尝试:
<?php $post_id = 27; ?>
第二次尝试:
function get_excerpt_by_id( $post_id = 27 ) {
global $post;
$save_post = $post;
$post = get_post( $post_id );
setup_postdata( $post );
$excerpt = get_the_excerpt();
$post = $save_post;
wp_reset_postdata( $post );
return $excerpt;
}
任何想法应该如何解决?
编辑:
function my_excerpt($post_id) {
$post = get_post($post_id);
if ($post->post_excerpt) {
// excerpt set, return it
return apply_filters('the_excerpt', $the_post->post_excerpt);
} else {
setup_postdata( $post );
$excerpt = get_the_excerpt();
wp_reset_postdata();
return $excerpt;
}
}
答案 0 :(得分:1)
答案 1 :(得分:0)
DECLARE @input XML = '<ArrayOfAlertInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<AlertInfo>
<AlertString xmlns="http://www.example.org/abc/v1_0">Test 1</AlertString>
<AlertString xmlns="http://www.example.org/abc/v1_0">Test 2</AlertString>
<AlertString xmlns="http://www.example.org/abc/v1_0">Test 3</AlertString>
<AlertTime xmlns="http://www.example.org/abc/v1_0">1466227822997</AlertTime>
</AlertInfo>
</ArrayOfAlertInfo>'
;WITH XMLNAMESPACES('http://www.example.org/abc/v1_0' AS ns)
SELECT
XC.value('(text())[1]', 'varchar(100)')
FROM
@input.nodes('/ArrayOfAlertInfo/AlertInfo/ns:AlertString') AS XT(XC)
<?php $excerpt = get_the_excerpt( $post ) ?>
可以是帖子ID或$ post对象。