-
Notifications
You must be signed in to change notification settings - Fork 0
/
template-longpost.php
68 lines (63 loc) · 1.92 KB
/
template-longpost.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php get_header();
/*
Template Name: Long Post (Shortcut Sidebar)
*/
the_post();
?>
<main id="maincontent" class="container">
<div class="row">
<div class="col-12 text-center mt-5 mb-4">
<?php
$icon = get_post_meta(get_the_ID(), 'icon')[0];
if (empty($icon)){
$icon = 'rose';
}
?>
<img class="header-icon" src="<?php echo svg_url($icon) ?>" />
</div>
<div class="col-12 text-center mb-4">
<h1 class="header-title m-0"><?php the_title(); ?></h1>
</div>
<hr class="fullwidth"/>
</div>
<div class="row">
<div class="col-12 col-md-4">
<h2 class="red-text">Jump To...</h2>
<?php
$doc = new DOMDocument();
$html_data = mb_convert_encoding(get_the_content() , 'HTML-ENTITIES', 'UTF-8');
$doc->loadHTML($html_data);
$selector = new DOMXPath($doc);
$result = $selector->query('//a');
// loop through all found items
foreach($result as $node) {
$name = $node->getAttribute("name");
if (!empty($name)) {
// echo "<a href='$name' class='jumpto-link-h1'>" . $node->textContent . "</a>";
// } else {
echo "<hr class='jumpto-hr'/><a href='#$name' class='jumpto-link'>" . $node->textContent . "</a>";
}
// $el = $doc->createElement("a", $node->textContent);
// $el->setAttribute("name", "$i");
// $node->textContent = "";
// $node->appendChild($el);
}
?>
<hr class="jumpto-hr"/>
<div class="d-none d-md-block" style="position:sticky; top:80%;">
<a href="#">
<button class="btn btn-outline-dark">
<img class="scroll-button-icon" src="<?php echo svg_url("arrow") ?>" />
Back to top
</button>
</a>
</div>
</div>
<div class="col-12 col-md-8">
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php the_content(); ?>
</article>
</div>
</section><!-- #maincontent -->
</main>
<?php get_footer(); ?>