Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 自定义wordpress功能,根据多个标记显示相关帖子_Php_Wordpress_Function - Fatal编程技术网

Php 自定义wordpress功能,根据多个标记显示相关帖子

Php 自定义wordpress功能,根据多个标记显示相关帖子,php,wordpress,function,Php,Wordpress,Function,我正在建立一个wordpress网站,希望在查看单个帖子时根据标签显示相关帖子。目前,我正在使用下面的函数来做这件事,它的工作 我的问题是,我想优先考虑具有最多共同标签的相关帖子。通常我每个帖子都有3-5个标签,所以我想在1个标签之前显示有3个共同标签的帖子。我已经尝试了一些不同的代码片段,应该可以做到这一点,但我还没有设法让它工作到目前为止 任何帮助都将不胜感激,谢谢 function smak_related_posts() { global $post; $tags = wp_ge

我正在建立一个wordpress网站,希望在查看单个帖子时根据标签显示相关帖子。目前,我正在使用下面的函数来做这件事,它的工作

我的问题是,我想优先考虑具有最多共同标签的相关帖子。通常我每个帖子都有3-5个标签,所以我想在1个标签之前显示有3个共同标签的帖子。我已经尝试了一些不同的代码片段,应该可以做到这一点,但我还没有设法让它工作到目前为止

任何帮助都将不胜感激,谢谢

function smak_related_posts() {
  global $post;
  $tags = wp_get_post_tags( $post->ID );
  if($tags) {
    foreach( $tags as $tag ) {
      $tag_arr .= $tag->slug . ',';
    }
    $args = array(
      'tag' => $tag_arr,
      'numberposts' => 4,
      'post__not_in' => array($post->ID),
      'post_type' => array('post', 'projects'),
    );
    $related_posts = get_posts( $args );
    if($related_posts) {
      echo '<footer class="entry-footer">';
        echo '<h3>Se også...</h3>';
        echo '<div id="masonry-loop">';
          get_template_part( 'template-parts/content', 'masonry_sizer' );
          foreach ( $related_posts as $post ) : setup_postdata( $post );
                  get_template_part( 'template-parts/content', 'masonry' );
          endforeach; }
          }
        echo '</div>';
      echo '</div>';
  wp_reset_postdata();
}
功能smak_相关职位(){
全球$员额;
$tags=wp\u get\u post\u标签($post->ID);
如果($tags){
foreach($tags作为$tag){
$tag_arr.=$tag->slug.,';
}
$args=数组(
“tag”=>tag\u arr,
“numberposts”=>4,
'post\u not\u in'=>数组($post->ID),
'post_type'=>数组('post','projects'),
);
$related_posts=获取_posts($args);
if(相关职位){
回声';
回音“seogså…”;
回声';
获取模板零件(‘模板零件/内容’、‘砌体尺寸’);
foreach($post作为$post的相关帖子):setup_postdata($post);
获取模板零件(“模板零件/内容”、“砌体”);
endforeach;}
}
回声';
回声';
wp_reset_postdata();
}