将php与html标签混合使用

时间:2016-01-29 07:27:42

标签: php wordpress

我正在尝试实现以下代码,但结果却没有显示任何内容。

 <li class="cleanup">Garantie:<span><?php (get_post_meta(get_the_ID(), 'Garantie', true); ?> Jahre</span><?php echo (get_post_meta(get_the_ID(), 'Garantie', true) >= 2) ? ('<span class="pro_con pro"><i class="fa fa-check"></i>Lange Garantie: ' . <?php (get_post_meta(get_the_ID(), 'Garantie', true)); ?> . ' Jahre</span>') : ('<span class="pro_con pro"><i class="fa fa-check"></i>Standart Garantie: ' . <?php (get_post_meta(get_the_ID(), 'Garantie', true)); ?> . ' Jahre</span>'; ?>) </li>

该字段应该可用且函数get_post_meta确实有效!

我认为我有语法错误,但我不知道在哪里?

有什么建议我做错了吗?

感谢您的回复!

4 个答案:

答案 0 :(得分:2)

你有一个额外的括号,改为

SEVERE: Servlet.service() for servlet [jsp] in context with path [/get] threw exception [An exception occurred processing JSP page /NewFile2.jsp at line 27

24: 
25:  bImage = ImageIO.read(new ByteArrayInputStream(buf));//give the path of an image
26: ByteArrayOutputStream baos = new ByteArrayOutputStream();
27: ImageIO.write( bImage, "jpg", baos );
28: baos.flush();
29: byte[] imageInByteArray = baos.toByteArray();
30: baos.close();


Stacktrace:] with root cause
java.lang.IllegalArgumentException: image == null!
    at javax.imageio.ImageTypeSpecifier.createFromRenderedImage(ImageTypeSpecifier.java:925)
    at javax.imageio.ImageIO.getWriter(ImageIO.java:1591)
    at javax.imageio.ImageIO.write(ImageIO.java:1578)
    at org.apache.jsp.NewFile2_jsp._jspService(NewFile2_jsp.java:90)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)

顺便说一下,你必须登录devel env,日志有很多帮助。

答案 1 :(得分:1)

你在Ternary运算符中有一些额外的关闭?> php标记。

修改后的代码:

 <li class="cleanup">Garantie:
 <span>
 <?php get_post_meta(get_the_ID(), 'Garantie', true); ?> Jahre
 </span>
 <?php 
 echo (get_post_meta(get_the_ID(), 'Garantie', true) >= 2) ? 
 ('<span class="pro_con pro"> <i class="fa fa-check"></i>Lange Garantie: ' . 
 (get_post_meta(get_the_ID(), 'Garantie', true)) . ' Jahre</span>') : 
 ('<span class="pro_con pro"> <i class="fa fa-check"></i>Standart Garantie: ' . 
    (get_post_meta(get_the_ID(), 'Garantie', true)) . ' Jahre</span>' ) ;
?>
 </li>

答案 2 :(得分:1)

试试这个:

    <li class="cleanup">Garantie:<span><?php (get_post_meta(get_the_ID(), 'Garantie', true); ?> Jahre</span>
<?php echo (get_post_meta(get_the_ID(), 'Garantie', true) >= 2) ? '<span class="pro_con pro"><i class="fa fa-check"></i>Lange Garantie: ' . get_post_meta(get_the_ID(), 'Garantie', true) . ' Jahre</span>' : '<span class="pro_con pro"><i class="fa fa-check"></i>Standart Garantie: ' . get_post_meta(get_the_ID(), 'Garantie', true) . ' Jahre</span>'; ?> </li>

答案 3 :(得分:1)

这样的事情怎么样:

 <li class="cleanup">
    Garantie:
    <span>
        <?php echo get_post_meta(get_the_ID(), 'Garantie', true); ?> Jahre
    </span>
    <?php 
        if(get_post_meta(get_the_ID(), 'Garantie', true) >= 2){
            echo '<span class="pro_con pro"><i class="fa fa-check"></i>Lange Garantie: ';
            echo get_post_meta(get_the_ID(), 'Garantie', true);
        }else{
            echo '<span class="pro_con pro"><i class="fa fa-check"></i>Standart Garantie: ';
            echo get_post_meta(get_the_ID(), 'Garantie', true);
        }
        echo " Jahre</span>";
    ?>
</li>

毕竟,可读性很重要......

相关问题