Rascunhos e mensagens arquivadas são mostrando através de "mensagens Ligadas usando Anchor CMS

votos
1

Estou usando Anchor CMS.

Tudo funciona muito bem, exceto as mensagens que são rotulados 'Draft' ainda estão mostrando ao vivo no site na seção 'Related posts', mas eu não tenho idéia porque a partir de que eu posso ver, somente postagens publicadas deve aparecer.

Este é o código que estou usando para mostrar posts relacionados na parte inferior de cada artigo:

functions.php

function related_posts($n) {
$posts = Post::get(Base::table('posts'), '=', 'published');
$postarr = array();
foreach($posts as $post) :
if($post->id != article_id()) {
    if($post->category == article_category_id()) {
        array_push($postarr, $post);
    }
}
endforeach;    
shuffle($postarr);
$postarr = array_slice($postarr, 0, $n);
return $postarr;
}

function article_category_id() {
if($category = Registry::prop('article', 'category')) {
$categories = Registry::get('all_categories');
return $categories[$category]->id;
}
}

article.php

<?php foreach( related_posts(3) as $post) : ?>
<div class=similar-posts>
<div class=simi-alt>
<a href=<?= $post->slug; ?>><?= $post->title; ?></a> 
</div>   
<p class=sim-desc><?= $post->description; ?> <a href=<?= $post->slug; ?>>Read more..</a></p>
</div>
<?php endforeach; ?>
Publicado 05/02/2015 em 14:30
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

Eu não sei o que é isso CMS sobre, mas a documentação sobre o site não é tão bom.

Eu apenas o download para investigar Publicar classe.

class Post extends Base {
...
private static function get($row, $val) { 
...
->where(Base::table('posts.'.$row), '=', $val)

Do meu ponto de vista, isso significa que você deve enviar 2 parâmetros - um é nome do campo e segundo valor um campo.

Então, eu estou supondo, mas você pode tentar alterar esta linha em seu código:

$posts = Post::get(Base::table('posts'), '=', 'published');

a esta:

$posts = Post::get(Base::table('posts'), 'status', 'published');

ou mesmo para:

$posts = Post::get('status', 'published');
Respondeu 05/02/2015 em 18:28
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more