【问题标题】:Javascript very simple: 'Read more'...' Show Less' Functionality to be applied to Wordpress?Javascript 非常简单:'Read more'...' Show Less' 要应用于 Wordpress 的功能?
【发布时间】:2026-01-07 15:05:02
【问题描述】:

我作为最后的手段来到这里,希望能快速简单地解决这个问题。

我一直在使用一些 Javascript 来在同一页面的 6 个不同部分创建“阅读更多...”和“...阅读更少”功能。

我有一段正文,我只想显示第一行。其余部分将在单击“阅读更多...”时显示

下面的 sn-p 显示代码本身正在运行,但是我在尝试将其实际应用到我的网站/主题时遇到了很多麻烦。任何将其应用于functions.php文件的尝试。

$(".more").toggle(function () {
    $(this).text("less..").siblings(".complete").show();
}, function () {
    $(this).text("more..").siblings(".complete").hide();
});
.complete {
    display:none;
}
.more {
    color:navy;
    cursor:pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<span class="teaser">text goes here</span>

<span class="complete"> this is the 
complete text being shown</span>

<span class="more">more...</span>

我遇到的问题是,每次我尝试将它应用到我的functions.php 时,它都会产生一个错误,导致我的整个网站崩溃。

有没有人知道我做错了什么?或者将其应用于 wordpress 主题的最佳方式是什么?

我使用的主题是现代化。

对此的任何帮助都会很棒。

提前非常感谢。

【问题讨论】:

    标签: javascript php jquery html wordpress


    【解决方案1】:

    尝试将上述 sn-p 添加到位于 assets 文件夹中的 js 中,然后在 functions.php 文件中使用 wp_register_script()wp_enqueue_script()add_action() 函数添加对该文件的引用

    function my_enqueued_scripts()
    {
    
    global $post;
    // Register file that contains your js 
    wp_register_script('myscript', get_template_directory_uri() . '/assets /js/myscript.js');
    
    if (isset($post)) {
        //load it when needed depending on the page -template-home.php
        if (is_page_template('template-home.php')) {
            wp_enqueue_script('myscript');
        }
    }
    }
    

    然后调用你的函数

    add_action('wp_enqueue_scripts', 'my_enqueued_scripts', 10);
    

    【讨论】:

    • 非常感谢您的回复。然而,这只是使用 Google 来找到一个模板答案,以解决将 JavaScript 应用于 wordpress 网站的标准问题。我花了很多时间尝试这些网站和他们的建议,但没有成功。我不确定这是否是由于我应用了正确的变量名。但是在研究这个主题时很难错过使用 enqueue 的东西,所以如果可以请让这个更具体到我的代码和我的问题。那太好了,否则只需告诉我“谷歌它”就足够了。
    • 如果我误解了你的问题,我很抱歉,我以为你在问如何将 JS 文件排入主题......你能详细说明你遇到的错误吗?您介意发布 functions.php 代码 sn-p 吗?我不是 wordpress 专家,但它可能会帮助其他人回答您的问题。