
Car Demon has several hooks and filters you can take advantage of.In this post we’re going to focus on the two loop filters.
car_demon_display_car_list_filter($content, $post_id);
car_demon_single_car_filter($content, $post_id);
Let’s say we want to change the default vehicle listings.
We just need to create our own function to filter out the vehicle and display exactly what we want.
1 2 3 4 5 6 7 |
<span class="pln">add_filter</span><span class="pun">(</span><span class="str">'car_demon_display_car_list_filter'</span><span class="pun">,</span> <span class="str">'my_car_list'</span><span class="pun">,</span><span class="lit">10</span><span class="pun">,</span><span class="lit">2</span><span class="pun">);</span> <span class="kwd">function</span><span class="pln"> my_car_list</span><span class="pun">(</span><span class="pln">$content</span><span class="pun">,</span><span class="pln">$post_id</span><span class="pun">)</span> <span class="pun">{</span> <span class="com">// $content is the default vehicle listing</span> <span class="com">// $post_id is the id for the vehicle being displayed</span><span class="pln"> $x </span><span class="pun">=</span> <span class="str">'This is my custom content'</span><span class="pun">;</span> <span class="kwd">return</span><span class="pln"> $x</span><span class="pun">;</span> <span class="pun">}</span> |
If we place the above code in our theme’s function.php or in a custom plugin then your
“my_car_list” function will control what is shown for the vehicle.
You can use the car_demon_single_car_filter filter the same way to completely change it’s content too.
1 2 3 4 5 6 7 |
<span class="pln">add_filter</span><span class="pun">(</span><span class="str">'car_demon_single_car_filter'</span><span class="pun">,</span> <span class="str">'my_single_car'</span><span class="pun">,</span><span class="lit">10</span><span class="pun">,</span><span class="lit">2</span><span class="pun">);</span> <span class="kwd">function</span><span class="pln"> my_single_car</span><span class="pun">(</span><span class="pln">$content</span><span class="pun">,</span><span class="pln">$post_id</span><span class="pun">)</span> <span class="pun">{</span> <span class="com">// $content is the default vehicle listing</span> <span class="com">// $post_id is the id for the vehicle being displayed</span><span class="pln"> $x </span><span class="pun">=</span> <span class="str">'This is my custom content'</span><span class="pun">;</span> <span class="kwd">return</span><span class="pln"> $x</span><span class="pun">;</span> <span class="pun">}</span> |
Now we need to know how to get the vehicle information we want to we can build our new listing.
Car Demon has a really easy function you can call to get all of the vehicle data, car_demon_get_car($post_id).
The car_demon_get_car() function will return an array containing the vehicle information.
1 2 3 4 5 6 7 |
<span class="pln">$car </span><span class="pun">=</span><span class="pln"> car_demon_get_car</span><span class="pun">(</span><span class="pln">$post_id</span><span class="pun">);</span><span class="pln"> $car_title </span><span class="pun">=</span><span class="pln"> $car</span><span class="pun">[</span><span class="str">'title'</span><span class="pun">]</span><span class="pln"> $car_year </span><span class="pun">=</span><span class="pln"> $car</span><span class="pun">[</span><span class="str">'year'</span><span class="pun">]</span><span class="pln"> $car_make </span><span class="pun">=</span><span class="pln"> $car</span><span class="pun">[</span><span class="str">'make'</span><span class="pun">]</span> <span class="com">//= etc etc</span> <span class="com">// Use print_r to see all vehicle data</span><span class="pln"> print_r</span><span class="pun">(</span><span class="pln">$car</span><span class="pun">);</span> |
Now you have enough knowledge to change the default listings into something like this:
Источник: https://cardemons.com/