Loop_Node   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 13
dl 0
loc 23
rs 10
c 0
b 0
f 0
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A compile() 0 18 2
1
<?php
2
3
namespace Rarst\Meadow;
4
5
use Twig_Node;
6
use Twig_Compiler;
7
8
/**
9
 * Compiles loop nodes into WP loop with optional query node for secondary loops.
10
 */
11
class Loop_Node extends Twig_Node {
12
13
	/**
14
	 * @param Twig_Compiler $compiler
15
	 */
16
	public function compile( Twig_Compiler $compiler ) {
17
18
		$compiler->addDebugInfo( $this );
19
20
		if ( $this->hasNode( 'query' ) ) {
21
			$compiler
22
					->write( '$loop = new WP_Query(' )
23
					->subcompile( $this->getNode( 'query' ) )
24
					->raw( ");\n" )
25
					->write( 'while( $loop->have_posts() ) : $loop->the_post();' . "\n" ); // TODO nested loops
26
		}
27
		else {
28
			$compiler->write( 'while( have_posts() ) : the_post();' . "\n" );
29
		}
30
31
		$compiler
32
				->subcompile( $this->getNode( 'body' ) )
33
				->write( 'endwhile;' . "\n" );
34
	}
35
}