我构建了一个post界面,以接受自定义元框形式的特定数据,但现在最终用户说,要剪切和粘贴4次太费事了。所以现在(完全超出了原来的范围),我需要解析输入到新文本区域元框中的数据,并将每一行作为一个值分配给2个现有键,即\\u tile和substr\'d摘录。(见图)
实际上,它真的不需要使用现有的密钥。它可以使用新的变量,也可以只分配给一个新的$变量(我宁愿在保存时解析,而不是在查询时解析)。
元框是使用一个处理保存和更新的类构建的,我只需要知道如何拆分新字段。我还必须有条件地确定他们是使用单个框还是新的文本区域框。
其中一个元框用于外部url。我必须检查它是否存在。如果为null,模板将使用永久链接。
该用例非常具体,因为所有数据都在不同大小的框中的特定位置输出。见下文:
解析数据所需的顺序:
标题<---- I\'m saying this one is optional (They still have to enter a post title)
源`<;---meta\\u键是$前缀。\'文章来源\'
节选<--- the_excerpt but can be a new key
它只能输出115个字符,以避免破坏布局。在我们决定进行任何操作之前,我们还必须检查是否在真实的WordPress摘录框中输入了任何内容。
点击url<--- meta_key is $prefix.\'external_link
所有这些代码都运行良好。只是添加它来显示数据的使用方式
while ($box_query->have_posts()) : $box_query->the_post(); global $post; global $prefix;
$box_size = c3m_get_field( $prefix.\'box_size\', FALSE );
$box_image = c3m_get_field( $prefix.\'post_box_image\', FALSE );
$overlay_class = c3m_get_field( $prefix.\'overlay_class\', FALSE );
$ad_code = c3m_get_field( $prefix.\'ad_code\', FALSE );
$source = c3m_get_field( $prefix.\'article-source\', FALSE );
if ( c3m_get_field($prefix.\'external_link\', FALSE) ) {
$post_link = c3m_get_field($prefix.\'external_link\', FALSE) ;
} else
{ $post_link = post_permalink();
} ?>
<li class="ui-state-default <?php echo $box_size;?>">
<article <?php post_class() ?>>
<?php if ( $ad_code ) { ?> <div class="ad-box <?php echo $overlay_class;?>"> <?php echo $ad_code; } else {
echo \'<a href="\'.$post_link.\'" ><img src="\'.esc_url($box_image).\'" alt="Image via xxxxxxxxxx.com" /></a>\'; ?>
<div class="post-box <?php echo $overlay_class;?>">
<?php if ( c3m_get_field( $prefix.\'text_display\', FALSE) ) { ?>
<h2><a href="<?php echo $post_link?>"><?php the_title();?></a></h2>
<p><?php
if ( $source ) { echo \'(\' .$source. \') \'; }
if ( $box_size == \'double-single\' ) { echo substr( $post->post_excerpt, 0, 300) .\'...\'; ?></p> <?php
} else {
echo substr( $post->post_excerpt, 0, 115) .\'...\' ; ?></p> <?php } ?>
<?php } ?>
<?php } ?>
因此,问题是如何将4条cr打断线粘贴到1个元框中,并为每一行指定一个变量。
谢谢,我会挂断电话听你说的。
编辑:
粘贴的信息将为4行
第一行:标题
第二行:源
第三行:简短摘录
第四行:链接Url
示例:
四年后,埃及重新开放与加沙地带的边界
《纽约时报》
加沙地带数百名巴勒斯坦居民星期六乘公交车抵达这里,通过开放的边境进入埃及。http://www.nytimes.com/2011/05/29/world/middleeast/29egypt.html?_r=1&hp
该输入在前端看起来是这样的。标题链接到链接url:
最合适的回答,由SO网友:Jan Fabry 整理而成
这是一个非常简单的脚本,它将框中的文本拆分为不同的行,并将它们填入标题、摘录和两个自定义字段中。
jQuery( function( $ ) {
$( \'#wpse18528_paste_box\' ).keyup( function() {
var text = $( \'#wpse18528_paste_box\' ).val();
var lines = text.split( /[\\n\\r]+/ );
$( \'#title\' ).val( lines[0] );
$( \'#title\' ).siblings( \'#title-prompt-text\' ).css( \'visibility\', \'hidden\' );
$( \'#excerpt\' ).val( lines[2] );
$( \'#wpse18528_source\' ).val( lines[1] );
$( \'#wpse18528_link\' ).val( lines[3] );
} );
} );
当前正则表达式是一个或多个换行符-我不知道您是否想要这个?
而且,不是在每个keyup
(这可以很好地粘贴和编辑“懒惰框”中的小错误),您还可以添加“拆分”按钮并使用click
it事件。