我已经尝试(并搜索过)我想要做的许多版本,但我无法解决这个问题。
我正在构建一个Wordpress主题,作者将在短代码中输入内容(因此他们可以使用Visual Editor工具栏轻松更改颜色),但不是每个帖子都可以。
我设置了短代码(名为.tag)。
但是,我希望标签在帖子标题(.post-title)的前面显示并向右推(75px),如果标签包含在帖子中。如果不是,我希望帖子标题保持原样。
我想我需要这样的事情:Jquery check if element exists then add class to different element
但我无法满足我的需求!
我的问题是它无法检查是否包含标签(因为它位于帖子标题之后的帖子正文中)然后移动它?
任何建议都很棒。
答案 0 :(得分:0)
我觉得这是你想要服务器端而不是javascript的东西。试试has_shortcode()
:
global $post;
if (has_shortcode($post->post_content, 'tag')) {
echo '<h1 class="post-title has-shortcode">Title</h1>';
} else {
echo '<h1 class="post-title">Title</h1>';
}
您可能希望将其添加为the_title
上的过滤器?
(codex文档here)
答案 1 :(得分:0)
没有html我不能确定但是你可以简单地使用css伪类,如:parent来获取没有涉及jquery事件的行为。
检查出来
.tag:parent {
whatever:whatever;
}