草庐IT

php - WordPress 元标记挑战

coder 2024-04-15 原文

我目前正在尝试为电视节目创建一个网站,但由于某些 wordpress 的限制,这正成为一个挑战。

但是我通过在 functions.php 文件中实现自定义元字段来绕过它,现在我的问题是当我在当前字段中提交信息时我需要它来主动创建新字段。例如自定义元数据框名称是
(Episode Name="就是这样") (Episode Number="1") (Season Number="5")

我不想从一开始就创建所有的框,而是希望使用 Javascript (jQuery) 或任何解决方案来自动创建一组新的这 3 个框
(剧集名称="") (剧集编号="") (季号="") 这样我就可以在新信息出现时输入它们。预先感谢您的帮助!

注意:我在 wordpress 上投入了太多时间,以至于无法切换到另一个 cms,所以目前这不是一个选择。

最佳答案

根据我对您问题的理解,您正在寻找一种简单的解决方案来自动执行输入过程。我对您需要实现的目标有一个大致的了解,因为我不得不在宣传册类型的网站上做类似的事情。

我曾尝试使用 Jquery 回答您的问题,但我发现它会增加创建帖子时所需的文本输入量,不幸的是,没有完全自动化的方法来完成此操作,但希望下面能为您提供解决方案。

首先我找到了以下插件:Types - Complete Solution for Custom Fields and Types here: http://wordpress.org/extend/plugins/types/

这允许您在创建新帖子/页面时创建自定义元字段。自定义字段添加了前缀“wpcf-”,然后是字段名称,例如“剧集名称”在数据库中变为“wpcf-episode-name”。

以下是对 wordpress 的 get_meta 函数的编辑:

function get_specifications(){
    if ( $keys = get_post_custom_keys() ) {
    echo '<div class="entry_specifications">';
    foreach ( (array) $keys as $key ) {
        $keyt = trim($key);
            if ( '_' == $keyt[0] )
            continue;
            $values = array_map('trim', get_post_custom_values($key));
            $value = implode($values,', ');

            //remove "wpcf-"
            $key = str_replace('wpcf-','',$key);

            //convert "-" to a space " "
            $key = str_replace('-',' ',$key);

            //check if it has a value, continue if it does, skip if it doesn't:
            if ($value <> ''){
                echo apply_filters('the_meta_key', "
                <div class='meta_wrapper'>
                    <div class='meta_title'>$key</div>
                    <div class='meta_value'>$value</div>
                </div>\n", $key, $value);
            };

        }

   }
   // echo '</div>'; comment out and remove the line below if you are not using floats in your css
   echo '</div><div class="clear"></div>';
}

在我的 page.php(或您的 template-page.php)中,我在需要生成元数据的时间/地点添加了以下代码:

<?php

//check to see if there is meta data, as you only want the meta data on TV Program pages
$met_check = get_post_meta($post->ID, 'wpcf-features', true);

if ($met_check <> ''){ 
//if it has a value, spit out "About EpisodeName" ?>  
    <h2 class="post-title clear">About <?php echo $title ?></h2>

    <?php //perform the function from functions.php and return results:
    echo get_specifications();
}
?>

我使用以下 CSS 设置了结果样式:

.meta_entry {
    clear:both;
}
.meta_title {
    float:left;
    text-transform:capitalize;
    width:200px;
}
.meta_value {
    float:left;
    width:480px;
}

希望这对 friend 有帮助!

关于php - WordPress 元标记挑战,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8251849/

有关php - WordPress 元标记挑战的更多相关文章

  1. ruby-on-rails - 使用 gmaps4rails 动态加载谷歌地图标记 - 2

    如何只加载map边界内的标记gmaps4rails?当然,在平移和/或缩放后加载新的。与此直接相关的是,如何获取map的当前边界和缩放级别? 最佳答案 我是这样做的,我只在用户完成平移或缩放后替换标记,如果您需要不同的行为,请使用不同的事件监听器:在你看来(index.html.erb):{"zoom"=>15,"auto_adjust"=>false,"detect_location"=>true,"center_on_user"=>true}},false,true)%>在View的底部添加:functiongmaps4rail

  2. ruby-on-rails - 将 Ruby 代码和文字标记与 Haml 混合 - 2

    如何用HAML编写这个ERB:#OR我可以:=some_ruby_code+":"#and=some_ruby_code%br但我不想在这里连接,我想将它写成内联:(=some_ruby_code):#and(=some_ruby_code)%br 最佳答案 =some_ruby_code+":"-#and=some_ruby_code+""编辑1:我不确定您在寻找什么。你想要其中之一吗?==#{some_ruby_code}:-#and==#{some_ruby_code}或==#{some_ruby_code}:-#and=so

  3. ruby-on-rails - 这个 C 和 PHP 程序员如何学习 Ruby 和 Rails? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我来自C、php和bash背景,很容易学习,因为它们都有相同的C结构,我可以将其与我已经知道的联系起来。然后2年前我学了Python并且学得很好,Python对我来说比Ruby更容易学。然后从去年开始,我一直在尝试学习Ruby,然后是Rails,我承认,直到现在我还是学不会,讽刺的是那些打着简单易学的烙印,但是对于我这样一个老练的程序员来说,我只是无法将它

  4. ruby - 如何在 Chef 中使用 Ruby 标记 EC2 实例? - 2

    我正在尝试与Chef一起启动EC2实例。一切都运行良好,但Chef似乎无法标记实例。我错过了什么吗?否则,实现此目标的首选Ruby库是什么?我可以在不需要额外gem的情况下做到吗?谢谢 最佳答案 knife-ec2Gem的0.5.12版支持在创建时使用--tags选项标记EC2实例。knifeec2servercreate[...youroptions...]--tagsTag=Value 关于ruby-如何在Chef中使用Ruby标记EC2实例?,我们在StackOverflow上找到

  5. ruby-on-rails - 如果没有可用标签,则运行标记规范或全部 - 2

    我将guard与rspec和cucumber一起使用。要连续运行选定的规范,我只需使用focus标记来确定我要处理的内容。但问题是,如果没有带有该标签的规范,我想运行所有规范。我该怎么做?注意::我知道所有RSpec选项。因此,请仅在阅读问题后回复。 最佳答案 我通过以下配置实现了您描述的行为:#torunonlyspecificspecs,add:focustothespec#describe"foo",:focusdo#OR#it"shouldfoo",:focusdoconfig.treat_symbols_as_metada

  6. ruby-on-rails - Ruby 挑战 - 方法链和惰性求值 - 2

    看完文章http://jeffkreeftmeijer.com/2011/method-chaining-and-lazy-evaluation-in-ruby/,我开始寻找更好的方法链和惰性求值解决方案。我想我已经用以下五个规范概括了核心问题;谁能让他们全部通过?任何事情都可以:子类化、委托(delegate)、元编程,但不鼓励后者。最好将依赖性保持在最低限度:require'rspec'classFoo#EpiccodehereenddescribeFoodoit'shouldreturnanarraycorrespondingtothereverseofthemethodchai

  7. ruby-on-rails - Rails 还是 Sinatra? PHP程序员入门学习哪个好? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我使用PHP的时间太长了,对它感到厌倦了。我也想学习一门新语言。我一直在使用Ruby并且喜欢它。我必须在Rails和Sinatra之间做出选择,那么您会推荐哪一个?Sinatra真的不能用来构建复杂的应用程序,它只能用于简单的应用程序吗?

  8. ruby-on-rails - PHP 魔术方法 __call、__get 和 __set 的 Ruby 等价物 - 2

    我很确定Ruby有这些(等同于__call、__get和__set),否则find_by将如何在Rails中工作?也许有人可以举一个简单的例子来说明如何定义与find_by相同的方法?谢谢 最佳答案 简而言之你可以映射__调用带有参数的method_missing调用__设置为方法名称以'='结尾的method_missing调用__获取不带任何参数的method_missing调用__调用PHPclassMethodTest{publicfunction__call($name,$arguments){echo"Callingob

  9. ruby - Lisp - 是否适合网络编程/应用程序(交互式)? ruby 的方式是? php的方式是? - 2

    Lisp是否适合Web编程/应用程序(交互式),就像ruby​​和php一样?需要考虑的事情是:易于使用可部署性难度(尤其是对于编程初学者而言)(编辑)在阅读PaulGraham'sessay之后,我特别提到了CommonLisp.将是我的第一门编程语言。在这方面。这样做合适吗?我听说Clojure的宏功能不如CommonLisp的强大,这就是我尝试学习Clojure的原因。它教授编程并且非常强大。 最佳答案 Lisp是一个语系,而不是单一的语言。为了稍微回答您的问题,是的,存在用于各种Lisp方言的Web框架,例如用于Common

  10. ruby-on-rails - JSON::ParserError: 757: '{ 处的意外标记 - 2

    当前哈希是{\"report_name\"=>\"Study/Control:ABIRATERONEACETATE-20151413355\",\"left_mue_start_date\"=>\"02-26-2015\",\"left_mue_end_date\"=>\"03-19-2015\",\"right_mue_start_date\"=>\"02-26-2015\",\"right_mue_end_date\"=>\"03-19-2015\",\"report_formulary_id\"=>\",7581\",\"mue\"=>\"true\",\"mue_type\"=

随机推荐