F
FinerGaby
Beta
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Hola chicos tengo que hacer una web travel con este buscador incluido la cuestion que este buscador venia con el theme pero es totalmente ajeno a woocommerce segun tengo entendido usa advance field para el search bueno pude integrar woocommerce luego de varios dias al theme pero el buscador es ajeno y necesito que se pueda buscar de esa forma que ven los producto woocommerce.
Alguna idea como puedo hacerlo o si conocen algun tutorial para poder hacer o plugin la verdad vengo buscando hace 3 dias en google como puedo hacer este buscador en woocommerce y no hay nada de INFORMACION.
si alguno sabe por favor se lo agradezco muchisimo, estoy desesperado :x.
este el codex que usa ese buscador no ligado con woocommerce usando advance fields
no tengo idea trate de editarlo y ni la mas minima idea.
PHP:
function pages_home_func() {
$result = "";
$result .= '
<div class="tabs_wrapper tabs1_wrapper">
<div class="tabs tabs2">
<div class="tabs_tabs tabs1_tabs">
<ul>';
$psst = get_post_types();
foreach($psst as $val) {
$pstobj = get_post_type_object($val);
if(substr($val, -5) == "_post" && $pstobj->has_archive == 1) {
$cls = explode("_post", $val);
if($val == "flights_post") {
$class = 'class="'.$cls[0].' active"';
}
else {
$class = 'class="'.$cls[0].'"';
}
$result .= '<li '.$class.'><a href="'.'#'.$val.'">'.$pstobj->labels->name.'</a></li>';
}
}
$result .= ' </ul>';
$result .= '</div>';
$result .= '<div class="tabs_content tabs1_content">';
$psst = get_post_types();
foreach($psst as $val) {
if(substr($val, -5) == "_post") {
$result .= '<div id="'.$val.'">';
$result .= '<form method="POST" action="'.get_site_url()."/".$val.'" class="form1">';
$result .= '<div class="row">';
$latest_cpt = get_posts("post_type='.$val.'&numberposts=1");
$order = array();
$fields = get_field_objects($latest_cpt[0]->ID);
if( $fields ) {
foreach ($fields as $key => $fld) {
$order[$key] = $fld['order_no'];
}
array_multisort(
$order, SORT_ASC,
$fields
);
foreach ($fields as $field_name => $field) {
if($field['instructions'] == "wide") {
$wd = 4;
}
else {
$wd = 2;
}
if ($field['instructions'] != "hide" && $field['instructions'] != "hide_search" && $field['instructions'] != "hide_search_home" && $field['instructions'] != "aside") {
if ($field['type'] == "date_picker") {
$bm = ($_GET[$field['name']]) ? $_GET[$field['name']] : $_POST[$field['name']];
$result .= '
<div class="col-sm-4 col-md-'.$wd.'">
<div class="input1_wrapper">
<label>'.$field['label'].'</label>
<div class="input1_inner">
<input type="text"
value="'.$bm.'"
name="'.$field['name'].'"
class="input datepicker"
placeholder="Mm/Dd/Yy">
</div>
</div>
</div>
';
} else if ($field['type'] == "number") {
$nm = ($_GET[$field['name']]) ? $_GET[$field['name']] : $_POST[$field['name']];
$result .= '
<div class="col-sm-4 col-md-'.$wd.'">
<div class="input1_wrapper">
<label>'.$field['label'].':</label>
<div class="input2_inner">
<input type="text"
value="'.$nm.'"
name="'. $field['name'].'"
class="input">
</div>
</div>
</div>
';
} else {
$fieldsA = get_meta_values($field['name'], $val);
$froms = array();
foreach ($fieldsA as $vld) {
if (!in_array($vld, $froms)) {
$froms[] = $vld;
}
}
$result .= '
<div class="col-sm-4 col-md-'.$wd.'">
<div class="select1_wrapper">
<label>'. $field['label'].':</label>
<div class="select1_inner">
<select name="'. $field['name'].'"
class="select2 select"
style="width: 100%">
<option
value="">'. $field['default_value'].'</option>
';
foreach ($froms as $from) {
$result .='<option ';
if($from == $_GET[$field['name']] || $from == $_POST[$field['name']]){
$result .= 'selected';
}
$result .='value="'. $from.'">'. $from.'</option>';
}
$result .= '</select>
</div>
</div>
</div>
';
unset($froms);
}
}
}
}
$result .= '
<div class="col-sm-4 col-md-2">
<div class="button1_wrapper">
<input type="hidden" name="doSearch" value="yes">
<button type="submit" class="btn-default btn-form1-submit">Search</button>
</div>
</div>
</div>
</form>
</div>
';
}
}
$result .= '</div>';
$result .= '</div>';
$result .= '</div>';
return $result;
}
add_shortcode('pages_search', 'pages_home_func');
Última edição:

