我在 wordpress 中建立了一个 211 模板站点,我只使用 CMS 中的页面(没有帖子)。我有一个名为“Classes”的页面,它的页面内容会定期更新。
我想在每个页面的右上角添加一个正方形,显示“课程”页面的开始部分,下面的“更多”链接可以将人们引导到“课程”页面。
目前,我只是在学习时在 content-page.php 中添加了一个 html div。有没有插件可以实现我的目标?或者你能否给我一些关于如何编码的指导(一些建议的代码或学习链接会有所帮助)?
谢谢你。
我在 wordpress 中建立了一个 211 模板站点,我只使用 CMS 中的页面(没有帖子)。我有一个名为“Classes”的页面,它的页面内容会定期更新。
我想在每个页面的右上角添加一个正方形,显示“课程”页面的开始部分,下面的“更多”链接可以将人们引导到“课程”页面。
目前,我只是在学习时在 content-page.php 中添加了一个 html div。有没有插件可以实现我的目标?或者你能否给我一些关于如何编码的指导(一些建议的代码或学习链接会有所帮助)?
谢谢你。
如果您尝试在 PHP 中执行此操作,您可以尝试类似这样的操作
<?php
$page_id = 11; //set page ID
$page_data = get_page($page_id);
$title = $page_data->post_title;
$permalink = get_permalink($page_id);
echo '<a href="'. $permalink .'">'. $title . '</a>';
echo '<p>' . the_excerpt() . '<a href="'. $permalink . '">Read more</a></p>';
?>
如果您需要此脚本的页面 ID,您可以使用它
<?php
$pages = get_pages();
foreach ( $pages as $page ) {
echo 'ID: '. $page->ID . ' title: ' . $page->post_title.'<br>';
}
?>
如果您尝试基于小部件执行此操作,则需要确保这些步骤。
在 Twenty Twelve 主题中,您在Widgets部分中有一个名为Main Sidebar的部分。在此区域中,您将添加您想要的小部件,并确保您希望小部件所在的所有页面都设置为“默认主题”而不是“全角页面模板,无侧边栏”。
另外我不知道您是否对代码进行了任何更改,但如果有,您需要确保您的 wp-content/themes/twentytwelve/index.php 在页脚部分之前仍然具有此内容。
<?php get_sidebar(); ?>
如果你想扩大你的小部件区域,你可以篡改控制宽度的 CSS,但要注意这可能会影响容器内项目的稳定性。
wp-content/themes/twentytwelve/style.css
线 1446 - 1449
编辑宽度
.widget-area {
float: right;
width: 26.041666667%;
}
如果编辑了先前的值,您还需要编辑主站点内容以具有适当的比例百分比。
线 1437 - 1440
.site-content {
float: left;
width: 65.104166667%;
}
The thing you are trying to achieve is quite easily done by editing your template files, depending on your needs. I will suggest the simplest solution, but perhaps you may transform this snippet into a widget for a more dynamic/maintainable usage.
Edit the page.php
template file in order to make something appear in every page of your Wordpress installation.
Set up the desired layout for your box (perhaps <div>
with some float: right
).
Get the page you desire and store it into a php variable, like so: <?php $page = get_page( $page_id ); ?>
Get the position of the <!--more-->
tag, using stripos
.
Get only the part before the <!--more-->
tag, using substr
.
Apply the_content
filters and then echo
.
Your code will look a bit like this:
<div class="right-info">
<?php
$page = get_page(id);
$more_tag = stripos( $page->post_content, '<!--more-->' );
$excerpt = substr( $page->post_content, 0, $more_tag );
echo apply_filters('the_content', $excerpt);
?>
</div>